[英]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.