c++中整形变量精度、cout精度有效位数
c++中,char 和 unsigned char占8位
short占16位
int 32位(VScode中),long 32位,long long 64位
因此
short(默认是有符号类型)可表示的范围为
-32768~32767(即-2^15~2^15-1)
超过这个范围就会发生溢出
unsigned short 可表示的范围为:
0~65535(即0~2^16-1)
超过这个范围就会溢出
int的范围:
-2147483648~2147483647(即-2^31~2^31-1)
unsigned int 的范围:0~2^32-1
但是注意,如果想用
cout<<pow(2,31)<<endl;
来直接查看该数值的大小,会得到:
2.14748e+09
这不是精确值,这是因为cout输出默认精度为6位有效数字,可以使用cout.precision(n);来设置cout的输出精度,如:
cout.precision(20); cout<<pow(2,31)<<endl;
这样输出的结果变为:
2147483648