自学C++记录笔记
整数类型取值范围
之前一直对整数类型的取值范围了解的不是很清楚,现在稍微了解了一下就清楚了。
首先我们需要清楚几个概念:
- 计算机中整数类型是用补码表示的
- 有符号数中1000 0000和0000 0000是不一样的,1000 0000表示的是char类型中的最小负数-128,而0000 0000表示的才是0
清楚了这两个概念,知道整数类型的取值范围就很简单了。假设一个有符号整数有n个bit位,那么它的最小负数就是1后面跟上n-1个0,由于是负数,取反加1就可以得到最小负数是-2n-1 ;最大整数就比较简单了,直接就是1后面跟上n-1个1,即最大正数是2n-1。
例如,char类型有8个bit位,取值范围就是[-27,27-1]。