3
A
回答
5
零填充右移需要特定的整数大小。由于Dart中的整数具有任意精度,因此'>>>'操作符在这里没有意义。
模拟零填充右移的最简单方法是将位和数字第一位。
例子:
(foo & 0xFFFF) >> 2 // 16 bit zero-fill shift
(foo & 0xFFFFFFFF) >> 2 // 32 bit shift.
1
你可以定义一个效用函数的使用方法:
int zeroFillRightShift(int n, int amount) {
return (n & 0xffffffff) >> amount;
}
那假设你有32位无符号整数,这是很正常的,如果你确实有。