C++ signed char 为什么取值范围是-128-127

计算机中,数字都是以补码的形式表示的,对于有符号数而言,正数的补码为其自身,负数的补码固定其符号位。
正数的补码如下所示,0-127,可以看到除了符号位以外的所有位都被使用了
在这里插入图片描述
负数的补码如下所示:
在这里插入图片描述
可以看到-1~-127用到了出符号位外的127种类,虽然-128如果用源码表示是110000000,超过了8位有符号数的表示,但是10000000没有表示的数,因此就用它来表示-128了,也算是一种人为定义吧

参考资料:
https://blog.csdn.net/yanlaifan/article/details/84344979

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章