JS -- (18) 原码 补码 反码

141 阅读1分钟

机器数

机器数:在计算机中表示形式是二进制的数。机器数通常是带有符号的(指有正数和负数之分),计算机用最高位存放符号,这个 bit 一般叫做符号位。  正数的符号位为 0, 负数的符号位为 1。

原码

原码:十进制数据的二进制表现形式就是原码,原码最左边的一个数字就是符号位,0为正,1为负。

  • 使用原码进行正数的计算是没有问题的
  • 但是使用原码进行负数的计算就有很大问题【此时反码就出现了】

反码

反码正数的反码是其本身(等于原码),负数的反码是符号位保持不变,其余位取反

  • 负数的不跨 0 计算是没得问题的
  • 但是负数的跨 0 计算就有问题了【此时补码出现了】

补码

补码 正数的补码是其本身,负数的补码等于其反码 +1。

2161.png

总结

计算机都是使用补码来进行计算和存储的!!!