C++ 容易忽略的数据类型

1 超出数据类型指定长度的赋值

(1)无符号数据类型

unsigned char ch1= 336;

unsigned char ch2 = -1;

上面两个赋值都超出了unsigned char 类型的范围,大部分的编译器对这种情况是这么处理的:允许赋值,仅仅给出一个警告,但是是经过modulo之后的值。

cout<<ch1<<ch2<<endl; 而这的结果是 ch1 = 336 modulo 256 = 80, ch2 = -1 modulo 256 = 255 。 取余数。

(2) 对于有符号的书来说,要根据具体的编译器来定。

2 浮点型的有效数字

float类型仅提供6位有效数字,double类型至少提供10位有效数字

 

 

你可能感兴趣的:(C++,float,编译器)