搜索

C - 原码、反码和补码


发布时间: 2022-11-24 20:11:00    浏览次数:43 次

原码

计算机使用二进制编码存储数字. 用第一个bit位表示符号, 1 表示负号, 0 表示正号.

4个bit能够表示的数字:

  • 最小: 1111 → -7
  • 最大: 0111 → 7

但是原码不能进行加减法运算, 1 + (-1) = 0001 + 1001 = 1010 = 10.

反码

  • 正数的反码等于它的原码
  • 负数的反码是在其原码的基础上, 符号位仍为 1, 其余位取反

但是原码和反码都存在 +0 和 -0 的现象, 4 个bit能表示 16 个数, 里面却含有 2 个 0.

使用反码的编码方式存储数字, 其运算过程如下:

1 + (-1) = 0001 + 1110 = 1111 = -0

补码

  • 正数的补码等于它的原码
  • 负数的补码是在其原码的基础上, 符号位仍为 1, 其余位取反并加 1

4 位二进制数能够表示的范围是: -8 ~ +7 (-8 = 1000)

使用补码的编码方式存储数字, 其运算过程如下:

1 + (-1) = 0001 + 1111 = (1)0000 = +0

免责声明 C - 原码、反码和补码,资源类别:文本, 浏览次数:43 次, 文件大小:-- , 由本站蜘蛛搜索收录2022-11-24 08:11:00。此页面由程序自动采集,只作交流和学习使用,本站不储存任何资源文件,如有侵权内容请联系我们举报删除, 感谢您对本站的支持。 原文链接:https://www.cnblogs.com/khrushchefox/p/16923077.html