gpt4 book ai didi

Java - 从 Int 到 Short 的显式转换

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:05:48 25 4
gpt4 key购买 nike

有人可以解释为什么会出现以下声明:

short value = (short) 100000000;
System.out.println(value);

给我:

-7936

知道 Java 中 short 的最大值是 32767 对吗?

最佳答案

你值一亿,我得到-7936。 1亿改100万只能得到16960。

原因是 short 的值限制在 -32768 到 +32767 之间,Java 在转换为 short(narrowing primitive conversion, JLS 5.1.3)时只保留最低有效的 16 位.实际上这个操作:100 万模 2^16(short 中的 16 位)是 16960。

关于Java - 从 Int 到 Short 的显式转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18860817/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com