char(1B)-->short(2B)-->int(4B)-->long(4B)-->float(4B)-->double(8B)
2^15=32768;2^16=65536(2012、2016默认记住)
int-->float可能影响精度(int数值在2^24范围内,float能精确表示,超过后可能不能精确表示)
float-->int可能影响精度(比如float含小数),也可能会溢出(float表示范围远大于int)
undesignd(无符号数):在运算时按照int型运算,在读取时按照无符号数
无符号数(大题特别爱考)
在计算机中,整数都采用补码表示,也使用补码运算,只是最后不同类型数据的解释方法不同
四则运算
无符号数加法:X+Y=X+Y然后左边溢出的位数都扔掉
表达式中存在无符号数和有符号数时,所有数都转换为无符号数类型(数值不变,解释方法变了)
unsigned int 比 int所表示的正数的范围广,经常考察int溢出而unsigned int 不溢出的情况
编程通常用a>b,而不用a-b>0(可能发生类型转换而出错)