gpt4 book ai didi

java - 大于 127 的字节值

转载 作者:行者123 更新时间:2023-12-01 08:34:16 25 4
gpt4 key购买 nike

//好吧有道理

Byte b = (byte)207;
System.out.println(b); //value = 207

//ok 没有意义

Integer x = Integer.parseInt("11001111", 2); //207
Byte sens = (byte)x.intValue(); //207
System.out.println(sens); //Value = -49
System.out.println(sens.intValue()); //Value = -49

这是怎么回事?

我如何声明/表示一个值高于 127 的 8 位字节

最佳答案

Java 中的字节是有符号的,因此它们从 -128 变为 127。像这样强制转换 int 将获取 1 的高位(表示 two's complement 有符号数中的负数)并将其转换为负数-49。

从那里,当您使用 sens.intValue() 将其转换回整数时,它会拾取新的负值并返回它,因此您仍然会得到 -49。

不幸的是,您需要将大于 128 的字节存储在 int 数据类型中。

关于java - 大于 127 的字节值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14204883/

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