gpt4 book ai didi

java - 如何获取属于超出范围的字节的值?

转载 作者:行者123 更新时间:2023-11-29 05:06:49 24 4
gpt4 key购买 nike

{double a = 295.04;
int b = 300;
byte c = (byte) a;
byte d = (byte) b;
System.out.Println(c +" " + d);}

字节的存储大小为 8 位,最大正字节值为 127。所以 c 不等于 300。然后我尝试将 300 转换为二进制数。二进制数(300)有 9 位。我很困惑获得 c 和 d 的值(value)。为什么我得到 c = 39 和 d = 44?

最佳答案

Byte 是 java 中有符号的原始数据类型。当我们分配比字节值更大的东西时,就像一个循环。

假设您在字节变量中输入了 300。在第一个循环字节变量以 0,127 表示第 128 位后//300-128 = 172

在第二个循环后字节变量以 0,127 表示第 128 位//172-128 = 44

现在在第三个周期是 44。我希望这能回答您的问题。

关于java - 如何获取属于超出范围的字节的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30119186/

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