#include <stdio.h>
#include <math.h>
int main(){
unsigned int result = pow(2, 32) - 1;
int result1 = pow(2, 31) - 1;
printf("result = %u\n", result);
printf("result1 = %d\n", result1);
return 0;
}
// 比特位(位):cpu能读懂的最小单位,bit,b
// 字节:内存机构的最小寻址单位,Byte,B
// 我们一般情况下会遵约定俗成1Byte == 8bit,也就是一个字节等于8个比特位,但是这里只是约定俗成的,c语言种并没有明确规定这个
// 补码:
// 计算机存储所有数据均是以补码形式存储
// 正数的补码是该数的二进制形式
// 负数的补码需要通过一下几步获得:
// 1. 先取得该数的绝对值的二进制形式
// 2. 再将第一步的值按位取反
// 3. 最后将第2步的值加1
// 上面代码中,int有四个字节,所以占用32位。当有符号的时候,符号位需要占用一位,所以可以表示的数据长度位31位
// 而无符号的,则可以表示数据的位32位
关于数据的基本存储范围
