这里是关于为什么
~5
等于-6
的解释,来自这里:
5 = 0000 0101
取反 (~5) = 1111 1010
那么,1111 1010代表哪个数字呢?由于第一个数字是1,我们知道它是负数。要找出它的值,可以执行以下操作:
-(flip(1111 1010) + 1) = -(0000 0101 + 1) -(0000 0110) = -6
我想知道为什么JavaScript将~5
的结果视为以二进制补码形式表示的数字?
我的困惑在于,如果我在控制台中写入0b11111010
,它会计算为250,而不是-6。
0b11111010
,它的计算结果是250,而不是-6。 - Max Koretskyi