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位無符號整數,這是很正常的,如果你確實有。