次の方法のどれがより効率的ですか(Schemeでは、しかし私はそれは問題ではないと思います)?(目的は最下位ビットを取得することです)
(define (lsb n) (- n (bitwise-and n (- n 1))))
(define (lsb n) (remainder n 2))
(Schemeに詳しくない方のために。
int lsb (int n)
{
return n % 2;
}
vs
int lsb (int n)
{
return n - (n & (n - 1));
}
ありがとう!