我有一个关于Java中
因此,如果我尝试添加两个超出范围的short值,则结果将是所谓的总和减去正范围或负范围乘以2,如下所示:
short
数据类型的问题。我知道short的范围在-32768到32767之间。因此,如果我尝试添加两个超出范围的short值,则结果将是所谓的总和减去正范围或负范围乘以2,如下所示:
short a = 30000;
a = (short) (a+a);
结果为-5536。
所以这个计算是32768 + 32768 = 65536,6000 - 65536 = -5536。
我知道它的功能,但不知道为什么要这样做。
有人能解释一下逻辑或者为什么Java要这样做吗?