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位有效数字