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

 

posted @ 2021-12-02 22:06  SanFranciscoo  阅读(522)  评论(0编辑  收藏  举报