根据您的价值1亿,我得到-7936。如果将1亿变为100万,我只能得到16960。
原因是
short值限制在-32768到+32767之间,并且Java在转换为a时仅保留最低有效16位
short(缩小的原始转换,JLS
5.1.3)。有效地执行此操作:100万个mod
2 ^ 16(a中的16位
short)是16960。

根据您的价值1亿,我得到-7936。如果将1亿变为100万,我只能得到16960。
原因是
short值限制在-32768到+32767之间,并且Java在转换为a时仅保留最低有效16位
short(缩小的原始转换,JLS
short)是16960。