gpt4 book ai didi

java - 请解释一下这个 Java 程序输出

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

请解释为什么输出

byte c = (byte) (-512);
System.out.print(c);

0

最佳答案

Java中字节的范围是-128到127。由于 -512 不在范围内,编译器将要求显式类型转换。因此,您必须将 -512 (整数)转换为字节。程序运行时发生的情况是,JVM 只是删除高 24 位以将 -512 放入 8 位中。

-512         = 11111111111111110000001000000000 (int)
(byte) -512 = 00000000 (byte) //truncated the upper 24 bits// = 0

关于java - 请解释一下这个 Java 程序输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31523638/

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