JS ~按位非计算详解

2018-12-28  本文已影响0人  斜晖丶

正数(先加一再取反):
例:

65
01000001  // 65的原码
10111110  // 对65的二进制进行按位取反,不是求反码不要弄混淆
11000001  // 对取反后的值再取反,符号位不变
11000010  // 对取反后的数据进行加“1”操作     
11000010(二进制)=  -66(十进制)
~65 = -66

负数(先取反再加一):
例:

-66
11000010  // -66的原码
00111101  // 对-66的二进制进行按位取反,同理不是求负数的反码
00111110  // 对取反后的二进制数据进行加“1”操作,符号位不变
01000001  //对加“1”后的数据进行取反
01000001(二进制)= 65(十进制)
~(-66)= 65
上一篇下一篇

猜你喜欢

热点阅读