gpt4 book ai didi

java - java中的缩小类型转换

转载 作者:行者123 更新时间:2023-12-01 20:18:07 25 4
gpt4 key购买 nike

我正在学习 Java,对编程完全陌生。我试图了解这段代码的幕后发生了什么:

short c = 234;
byte d = (byte) c;
System.out.println(d);

输出为-22。有人可以向我解释一下幕后发生了什么魔法吗?

最佳答案

二进制数23411101010

虽然这个数字适合8位,但java中的一个字节是有符号的,所以java中最大可能的字节值是127。并且当最高有效(最左边)位被设置时,这意味着“负数”,所以你得到的数字是负数。

现在,您可能想知道为什么当 1101010 不是 22 时,您得到的数字是 -22。通过研究数字的补码表示可以找到这个问题的答案。

这是它的维基百科文章:https://en.wikipedia.org/wiki/Two's_complement

关于java - java中的缩小类型转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45371739/

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