【问题标题】:Byte to Integer why Number changes [duplicate]字节到整数为什么数字会改变[重复]
【发布时间】:2021-01-08 13:29:09
【问题描述】:

为什么数字从字节变为整数或从短到字节变为整数?

代码如下:

public class TypeCasting {
    public static void main ( String [] args ) {
        
        short c = 292;
        int d = (byte) c;
        
        System.out.println(d); // 36

    }
}

【问题讨论】:

  • 292 是否适合一个字节?
  • 我一直在考虑按照“它环绕为否定”的方式回答,直到我看到上述评论并意识到它超出了否定环绕并完全环绕。

标签: java casting byte short


【解决方案1】:
292 = 0001 0010 0100
36  = 0000 0010 0100

将 292 从 Short 更改为 Byte 会删除左侧位(前 4 位)。当您将其重新转换为 Int 时,这些位现在会丢失,因此您仍将仅保留 36。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-03-20
    • 2020-10-02
    • 2012-07-10
    • 2013-09-29
    • 1970-01-01
    • 1970-01-01
    • 2014-11-17
    • 2022-08-05
    相关资源
    最近更新 更多