定义:

在计算机系统中,数值一律用补码来表示和存储。

表示方法:

正数的补码是其本身原码,也是其本身反码;负数的补码是在其原码的基础上,符号位不变,其余各位取反,最后再+1,也可以认为是在其反码的基础上,再+1。

举例:(4位二进制数)

真值原码反码补码真值原码反码补码
0000000000000-0100011110000
1000100010001-1100111101111
2001000100010-2101011011110
3001100110011-3101111001101
4010001000100-4110010111100
5010101010101-5110110101011
6011001100110-6111010011010
7011101110111-7111110001001

让我们尝试用补码进行加法运算!

例: 0001+0001=0010,1+1=2

     0000+0000=0000,0+(-0)=0

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

由此我们知道,补码中-0不存在。


点赞(0)

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

Dotcpp在线编译      (登录可减少运行等待时间)