C语言-数据类型-整数

C语言整数由bytes构成,没有硬性规定一个数字有几个字节构成

 

对于有符号的数字来说,使用补码表达值,补码具有唯一性

正数      字节码由0开头         源码                                                                    0~32767

负数      字节码由1开头         同值的正数源码的取反再加1                              -32678~-1

 

 

 

负数补码:   -25

通过同值的正数取反获取反得

 0001 1001 -> 1110 0110  

再加1,得到补码,可以这样理解补码表示数字的方式 ,符号位代表-128,其余的依旧为正数,实际表示的值为-128 + 64 + 32 +4 + 2 +1 = -25

 

 0001 1001 -> 1110 0110 -> 1110 0111 

 

 

对符号位的理解,可将4字节最开始的那位定义为-32768

 

posted @ 2021-12-24 13:26  斯瓦勃洛  阅读(247)  评论(0)    收藏  举报