以下如何
/// <reference path="kanine.ts" />
评估为8?
我将0xf & 1000
指定为非二进制,运算符1000
是否执行到二进制的转换?这也评估为8
&
但第二个数字明确定义为二进制
答案 0 :(得分:4)
1111101000 // 1000
0000001111 // 0xf
---------- & operator
0000001000 // 8 in binary system
数字1000
(dec
)和0b1000
(bin
)在二进制表示形式(1000
)中具有相同的结尾,且长度与{相同{1}}(二进制四位数 - 0xf
)
因此,1111
运算符的两种情况都会产生相同的结果。
答案 1 :(得分:2)
因为你把1000作为十进制。根据{{3}}的文档,只有以零开头的数字被视为二进制,八进制,十六进制或依赖于十进制。
function formatClick() {
screenName = document.getElementById("linkscreen").value;
console.log(screenName);
}
答案 2 :(得分:0)
是的,按位运算符可以执行此操作,有关详细信息,请参阅https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Operators/Bitwise_Operators。
所有位运算符的操作数都以2的补码格式转换为带符号的32位整数。