小编Sco*_*ade的帖子

在Java中溢出Short

我有一个关于shortJava中数据类型的问题.我知道短期的范围在-32768到32767之间.

因此,如果我尝试添加两个超出范围的短值,则结果最终为假定的总减去正范围或负范围乘以2,如下所示:

short a = 30000;
a = (short) (a+a);
Run Code Online (Sandbox Code Playgroud)

结果是-5536.

所以数学是32768 + 32768 = 65536,6000 - 65536 = -5536.

我知道它的作用,但我不知道为什么会这样做.

任何人都可以解释逻辑或为什么Java这样做?

java short primitive-types

3
推荐指数
1
解决办法
3351
查看次数

标签 统计

java ×1

primitive-types ×1

short ×1