【问题标题】:Why does this code print 16 in java [duplicate]为什么这段代码在java中打印16 [重复]
【发布时间】:2018-09-10 14:21:50
【问题描述】:

有人能解释一下这段代码背后的基本机制吗?

System.out.println(0x10);

【问题讨论】:

  • 0x10 是 16 的十六进制形式
  • 您希望它打印出不同的东西吗?
  • @AhmedAbdulkareem 0x 代表十六进制,0b 代表二进制,0 在数字前代表八进制 - 因此,你这里有十六进制的 10,即十进制的 16,Java 以十进制格式输出答案 :-)

标签: java eclipse unicode ascii


【解决方案1】:

0x 指示编译器以下文字应该是十六进制数字,在您的示例中是 10 十六进制或 16 十进制

【讨论】:

    【解决方案2】:

    0x 或 0X 前面的数字是十六进制格式。

    为什么是 16:

    0x1          0
    
      1 * 16^1 + 0 * 16^0
    = 1 * 16   + 0 * 1 
    = 16       + 0 
    = 16
    

    【讨论】:

      【解决方案3】:

      这是一个十六进制数,十进制是 16

      【讨论】:

        猜你喜欢
        • 2012-03-23
        • 2017-05-08
        • 1970-01-01
        • 2023-03-25
        • 1970-01-01
        • 1970-01-01
        • 2022-12-18
        • 2017-12-16
        • 1970-01-01
        相关资源
        最近更新 更多