JavaScript中的一个位运算问题

来源:百度知道 编辑:UC知道 时间:2024/06/26 00:26:09
~的意思是若数据对应位为0,则该位为1,否则相反吧?不太理解
~3的结果为什么是-4?
~-3的结果为什么是2?
~4的结果为什么是-5?
~-4的结果为什么是3?
知道的请用二进制数具体展示一下过程!

3 0000 0011
-4 1111 1100
-------------------------
-3 1111 1101
2 0000 0010
-------------------------
4 0000 0100
-5 1111 1011
-----------------------
-4 1111 1100
3 0000 0011
------------------------
可能楼主对负数的表示不是很理解吧,其实,计算机对于正数的表示很容易理解,就是按权去获取最后相加,但负数,就是先写出正数的二进制数,然后所有位取反+1 就是负数了。
例如:-3 用二进制表示
首先 3 : 0000 0011
取反 : 1111 1100
加一 : 1111 1101

等待高手作答。