gpt4 book ai didi

java - 将 byte 提升为 int 或 long

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

如果我有一个字节值00101011并且我想将其表示为int值,我有:00000000000000000000000000101011,这对我来说似乎很清楚。 Bu我对字节值11010100有问题,它作为int由11111111111111111111111111010100表示。我不知道它是从哪里来的。有人可以向我解释一下将字节值扩展为 int 的想法吗?

最佳答案

byte11010100 表示负数 (-44),因为最高有效位已设置。当它经历原始加宽转换时,它仍然必须在二进制补码表示中表示相同的负值。这是使用符号扩展完成的。这意味着所有新位都与原始符号位相同。

                           11010100 => -44
11111111 11111111 11111111 11010100 => -44

如果这种情况没有发生,那么符号位将不再是符号位,并且它将被“正常”解释,并且值将不再相同。

00000000 00000000 00000000 11010100 => 212

关于java - 将 byte 提升为 int 或 long,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22642850/

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