将二进制转换为十进制/十六进制/八进制(java)



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

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

不幸的是,它不适用于这种数字格式。

我想它会转换int number = 11011000,但我的格式有很大不同。

有什么函数可以很容易地转换它吗?

机器中的数字只是数字,它们不是"具有";像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);

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

最新更新