按位或意外结果
bitwise OR unexpected result
这行代码:
console.log((90000000000000|0).toString());
输出:
-1039687680 ( bin -111101111110000110000000000000 )
根据 32 位有符号整数转换,我期望:
/--discarded--'/---------significant----------'
10100011101101011000010000001111010000000000000 = 90000000000000
│
11000010000001111010000000000000 OR
00000000000000000000000000000000
================================
11000010000001111010000000000000 = -1107795968
sign/'------significant bits-------/
为什么我获得 -1039687680 而不是 -1107795968?
正如您链接的帖子中所述,它是二进制的补码格式。
负11000010000001111010000000000000 异或 1 加 1 等于
阳性11110111111000011000000000000000,1039687680
终于-1039687680收获了。
相关文章:
- Node.js使用Series函数(模式?)实现流控制时出现意外结果
- 逻辑和/或运算符-意外的最终结果
- Javascript:函数返回意外结果
- 意外结果,在 ASP.Net 中解析 JSON 对象的数组
- 按位或意外结果
- 来自 JavaScript 循环的意外结果
- 从 JavaScript 中的图像中读取像素数据会返回半透明像素的意外结果
- 在 JS 中短路空数组会产生意外结果:“[] ||真 == []'
- NodeJS中的Parse Json文件在Node中显示意外结果
- 做了一个javascript小实验,需要你的帮助才能理解意外的结果
- 基于给出意外结果的提示输入的逻辑
- JavaScript Regexp.test返回意外结果
- 推入数组会产生意外的结果
- 键控产生意外结果.HTML5游戏
- Javascript do/while循环显示意外结果
- 来自 CSS 和 jQuery 的意外结果
- MongoDB mapReduce方法意外结果
- 具有意外结果的 Javascript 函数参数
- 如何在集合中的项上触发 jQuery 事件(意外的 jQuery 结果来自 $._data() 与集合的第一个元素)
- 在 JavaScript 中解析日期字符串的意外结果