使用 % 和获取 odd/even 的最低有效位之间的区别
Difference between using % and getting the least significant bit for odd/even
我一直在想,使用 %
和获取数字的最低有效位来判断是奇数还是偶数有什么区别。
使用 %
类似于
n % 2 == 0
在这种情况下 n
是偶数
n % 2 == 1
在这种情况下 n
是奇数
使用最低有效位
n & 1 == 0
在这种情况下 n
是偶数
n & 1 == 1
在这种情况下 n
是奇数
使用 %
比数字的最低有效位更快吗?
除了可能的速度差异之外,按位运算符的使用将数字更改为 32 位数字,而数字具有 64 位浮点数。
较大数字的使用受到限制:
32 bit 64 bit
---- ------------- --------------------------------------------
min -2147483648 -9007199254740991 Number.MIN_SAFE_INTEGER
max 2147483647 9007199254740991 Number.MAX_SAFE_INTEGER
我一直在想,使用 %
和获取数字的最低有效位来判断是奇数还是偶数有什么区别。
使用 %
类似于
n % 2 == 0
在这种情况下n
是偶数n % 2 == 1
在这种情况下n
是奇数
使用最低有效位
n & 1 == 0
在这种情况下n
是偶数n & 1 == 1
在这种情况下n
是奇数
使用 %
比数字的最低有效位更快吗?
除了可能的速度差异之外,按位运算符的使用将数字更改为 32 位数字,而数字具有 64 位浮点数。
较大数字的使用受到限制:
32 bit 64 bit
---- ------------- --------------------------------------------
min -2147483648 -9007199254740991 Number.MIN_SAFE_INTEGER
max 2147483647 9007199254740991 Number.MAX_SAFE_INTEGER