繁体   English   中英

cpp中数据类型的范围

[英]Range of data type in cpp

在我研究过的一些地方,在有符号数据类型中,一位用于符号,所以在这种情况下,char 类型的正值是 127,因为可以以二进制形式写入 + 1111111,所以在负值时,它也应该取值 -127 作为 -1111111但它是-128 为什么?

让我们创建一个简单的表格,一个可以用两位而不是八位表示的所有数字的列表。 一位仍用于符号,一位用于实际值。 如果我们这样做,那么这就是我们最终得到的表格:

十进制 二进制
-2 10
-1 11
0 00
1 01

所以,这就是你得到的两位长数字。 请注意,最小值为 -2,最大值为 1。

现在,让我们继续讨论三个位:

十进制 二进制
-4 100
-3 101
-2 110
-1 111
0 000
1 001
2 010
3 011

最小的可表示值是-4,最大的是3。

如果继续这个过程,当你得到 8 位数字时,你会发现最小值是 -128,最大值是 127。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM