比如char是一个字节所表示的正数范围是0--255
负数是-128--127
是不是负数范围只是在补码中才会用,再编写程序时不会用到哪
C/C++中数据类型为什么会有正数和负数范围
答案:4 悬赏:80 手机版
解决时间 2021-03-14 05:45
- 提问者网友:回忆在搜索
- 2021-03-13 09:45
最佳答案
- 五星知识达人网友:佘樂
- 2021-03-13 10:13
1. C/C++中所有的整数都用二进制补码表示。
2. char型的正数范围是1~127而不是0~255;unsigned char型的范围才是0~255。
3. char型的范围是-128~+127。
因为整数域客观上存在负数、0和正数,所以C/C++的整数数据类型必须“适应”这种客观需要;unsigned数据只是在实际问题不涉及负数时定义的所谓“无符号数”,用以扩展有限的二进制位长表达更多的整数。
2. char型的正数范围是1~127而不是0~255;unsigned char型的范围才是0~255。
3. char型的范围是-128~+127。
因为整数域客观上存在负数、0和正数,所以C/C++的整数数据类型必须“适应”这种客观需要;unsigned数据只是在实际问题不涉及负数时定义的所谓“无符号数”,用以扩展有限的二进制位长表达更多的整数。
全部回答
- 1楼网友:傲气稳了全场
- 2021-03-13 12:22
知道这个范围就行,实际中用不用,要看实际的情况
~
~
~
- 2楼网友:骨子里都是戏
- 2021-03-13 11:29
1. C/C++中所有的整数都用二进制补码表示。
2. char型的正数范围是1~127而不是0~255;unsigned char型的范围才是0~255。
- 3楼网友:一叶十三刺
- 2021-03-13 11:09
每种类型都分为: 有符号和无符号两种
比如你所说的char类型,也分为:unsigned char 和signed char
char在大多数的编译器中是认为是signed char。
unsigned char的取之范围是:0-255 (8为都是数据)
signed char的取之范围是:-128 - 127 (最高位是符号位,剩下7位是数据)。
无论是有符号数还是无符号数在内存中都是以补吗的方式存储的。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯