trailingZeroBits property
int
get
trailingZeroBits
Implementation
int get trailingZeroBits {
if (this == BigInt.zero) return 0;
int ret = 0;
int numberInt;
{
var number = this;
numberInt = (number & BigInt.from(0xffffffff)).toInt();
while (numberInt == 0) {
number >>= 32;
ret += 32;
}
}
if (numberInt.isOdd) return ret;
if (numberInt & 0xffff == 0) {
numberInt >>= 16;
ret += 16;
}
if (numberInt.isOdd) return ret;
if ((numberInt & 0xff) == 0) {
numberInt >>= 8;
ret += 8;
}
if (numberInt & 0xf == 0) {
numberInt >>= 4;
ret += 4;
}
if (numberInt & 0x3 == 0) {
numberInt >>= 2;
ret += 2;
}
if (numberInt & 1 == 0) ++ret;
return ret;
}