将二进制转换为十进制/十六进制/八进制(java)[关闭]

Posted

技术标签:

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

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

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

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

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

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

【问题讨论】:

Integer.toOctalString(0b1101_1000) 工作正常。您实际尝试了什么,有什么问题? 【参考方案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);

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

【讨论】:

以上是关于将二进制转换为十进制/十六进制/八进制(java)[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Java:将二进制字符串转换为十六进制字符串[重复]

java中怎样把图片转换成二进制

java中如何把一个图片转换成二进制流存入到类中啊?

JAVA如何将二进制数转换成文件?

在java中怎么将二进制字符串转换为文件流

十六进制转换十进制(JAVA版)