为什么非二进制数被评估为二进制数
Why is non binary number evaluated as binary
为什么会出现以下
0xf & 1000
评估为8?我将1000
指定为非二进制,运算符&
是否执行到二进制的转换?这也评估为8
0xf & 0b1000
但是第二个数字被明确定义为二进制
1111101000 // 1000
0000001111 // 0xf
---------- & operator
0000001000 // 8 in binary system
数字1000
(dec
)和0b1000
(bin
)在二进制表示(1000
)中具有相同的结尾,并且与0xf
(二进制-1111
中的四位)具有相同的长度
因此,对于bitwise
运算符,在这两种情况下都有相同的结果。
因为您将1000作为小数。根据Numbers的文档,只有以零开头的数字才会被视为二进制、八进制、十六进制或取决于十进制。
f hex = 0000001111 bin
1000 dec = 1111101000 bin
& 0000001000 bin = 8 dec
是的,按位运算符可以做到这一点,请参阅https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Operators/Bitwise_Operators详细信息。
所有按位运算符的操作数都转换为二进制补码格式的有符号32位整数。
相关文章:
- Javascript-将类型化数组保存为blob,并作为二进制数据读回
- 使用二进制压缩布尔数组
- Javascript-如何快速构建不同正整数数组的二进制表示
- Rhino 1.5 R5在查找数组差异时未正确评估JavaScript
- 为什么非二进制数被评估为二进制数
- 邮递员:如何评估 JSON 数组
- 评估不将字符串数组计算到数组中
- 在 JavaScript 中存储非常大的二进制数的最佳方法是什么?
- js 数组二进制插入按行和列排序
- 在 JavaScript 中将字节数组转换为二进制
- 评估 ES6 数组理解字符串
- 要画布的二进制数组
- 使用 CSS 的二进制数动画
- JavaScript中的二进制数组搜索
- 如何从十六进制字符串构建二进制数组
- 使用不同的二进制数查找给定集合的子集
- 将二进制数数组转换为相应的整数
- 如何对二进制数进行按位运算
- JavaScript:将字符转换为代码,或将字符串转换为二进制数组(数字数组)的非标准方法
- 反转一个二进制数组