【问题标题】:Convert binary to decimal / hexadecimal / octal (java) [closed]将二进制转换为十进制/十六进制/八进制(java)[关闭]
【发布时间】:2021-01-29 20:04:28
【问题描述】:

我想将int number = 0b1101_1000; 转换为十进制/十六进制/八进制。

我在网上搜了一下,发现可以使用函数toOctalString(number)

很遗憾,它不适用于这种数字格式。

我猜它会转换为int number = 11011000,但我的格式不同。

有什么函数可以轻松转换吗?

【问题讨论】:

  • Integer.toOctalString(0b1101_1000) 工作正常。您实际尝试了什么,有什么问题?

标签: java function binary converters


【解决方案1】:

机器中的数字只是数字,它们没有像 2、8 或 10 这样的底数(基数)。

只有当您想要以字符串形式表示时,基础才会发挥作用。

到第一点:

 int number = 0b1101_1000;

 int number = 216;

在内部产生完全相同的结果。它们只是相同值的不同源代码表示。

到第二点:要转换为将该值表示为十进制整数的字符串,请使用:

String s = Integer.toString(number);

或等效:

String s = Integer.toString(number, 10);

作为十六进制整数:

String s = Integer.toHexString(number);

或者,等价的,

String s = Integer.toString(number, 16);

(此时八进制应该很明显了)

【讨论】:

    猜你喜欢
    • 2013-11-07
    • 2015-12-12
    • 1970-01-01
    • 2011-08-21
    • 2012-06-26
    • 2019-10-27
    • 2015-09-06
    • 2014-02-13
    • 1970-01-01
    相关资源
    最近更新 更多