javascript - 使用 % 和获取奇数/偶数的最低有效位之间的区别

标签 javascript bitwise-operators bit

我一直想知道,使用 % 和获取数字的最低有效位来知道是奇数还是偶数有什么区别。

使用 % 类似于

  • n % 2 == 0 在这种情况下,n 是偶数
  • n % 2 == 1 在这种情况下,n 是奇数

使用最低有效位

  • n & 1 == 0 在这种情况下,n 是偶数
  • n & 1 == 1 在这种情况下,n 是奇数

使用 % 比使用数字的最低有效位更快吗?

最佳答案

除了可能的速度差异之外,按位运算符的使用会将数字更改为 32 位数字,而 float 的数字为 64 位。

较大数字的使用受到限制:

            32 bit                   64 bit
----  -------------  --------------------------------------------
min    -2147483648    -9007199254740991   Number.MIN_SAFE_INTEGER
max     2147483647     9007199254740991   Number.MAX_SAFE_INTEGER

关于javascript - 使用 % 和获取奇数/偶数的最低有效位之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50650610/

相关文章:

c - 为什么清除位时必须使用 ~ 运算符?

php - 可以使用在同一页面上的表单中选择的值来填充 php/mysql 调用吗?

javascript - 如何解决从网页向 Chrome 扩展程序发送数据的问题?

javascript - 罗马数字开关盒无法正确评估

c++ - ~ 和 - 之间的区别

c++ - 在 C++ 中存储和访问 N 维位数组中单个位的最快方法是什么?

python - Python中正整数所需的最小位长

c# - Websocket 连接设置

javascript - 通过 ID 而不是索引从 DOM 中删除元素

c++ - "~ "如何在 C 中找到补集?