感谢大家提前 –
alert((~1).toString(2));
输出:-10
但是在PHP / Java中,它会输出11111111111111111111111111111110
我错过了什么,为什么Javascript会在输出中添加“ – ”?
谢谢,
山姆
解决方法
我知道Java使用二进制补码代表负数,而二进制中的是11111111111111111111111111111110,这是〜1给出的,代表-2.或者,用二进制代表负号,-10,这是你得到的.
您使用二进制补码计算10的负数(在基数2中)的方式是首先反转所有位,给出:
11111111111111111111111111111101
那么你添加1,给你:
11111111111111111111111111111110
我猜Javascript也是一样.