精度小于int的数值运算的时候都回被自动转换为int后进行计算
所以,下面的代码会报编译错误
short s1 = 1;
short s2 = 1;
s1= (s1+s2);
必须改成:
short s1 = 1;
short s2 = 1;
s1= (short)(s1+s2);
但是,s1+=4;是正确的
本文探讨了在使用短整型(short)进行运算时遇到的问题,特别是当两个short类型的数值相加时,由于自动类型提升机制,结果会被转换为int类型。文章通过具体的代码示例解释了如何避免这一问题,并说明了为什么某些赋值操作不会引发编译错误。
精度小于int的数值运算的时候都回被自动转换为int后进行计算
所以,下面的代码会报编译错误
short s1 = 1;
short s2 = 1;
s1= (s1+s2);
必须改成:
short s1 = 1;
short s2 = 1;
s1= (short)(s1+s2);
但是,s1+=4;是正确的
7679