补码是什么
一个数在计算机中是以二进制的形式存放的,补码的发明是为了表示带符号数(整型)进行方便的运算
。
补码的转换
正是符号需要占有一格,所以带符号的整型的取值范围是 -127 ~ 127
7 到 -7 的转换
127 、-127 表示
补码的用处
出现的问题
当计算机计算 -7 + 7
时,按照常识进行计算,底层是这样的:10000111 + 00000111 = 10001110
,这时就发现并不等于 0
处理问题
这时我们的前辈就想到的 补码
这种方式:
-7 二进制补码表示: 11111001
7 二进制表示:00000111
进行加法运算:11111001 + 00000111 = 100000000
结果是 100000000
但是只有 8位去存储整数
,所以第九位的1会溢出
,这样显示的结果就是00000000
,就完成我们需要的运算。
扩展
占用字节数越多,所能表示的数越大
数据类型 | 字节数 | 取值范围 |
---|---|---|
char | 1 | -128 ~ 127 |
unsigned char | 1 | 0 ~ 255 |
short | 2 | -32768 ~ 32767 |
unsigned short | 2 | 0 ~ 65535 |
int | 4 | -2147483648 ~ 2147483647 |
unsigned short | 4 | 0 ~ 4294967295 |
下一篇
【C语言】数据类型
【C语言】数据类型
2020-08-26 23:35