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

Convert binary to decimal / hexadecimal / octal (java)

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

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

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

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

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

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

基数仅在您需要表示为字符串时才起作用。

第一点:

 int number = 0b1101_1000;

 int number = 216;

在内部产生完全相同的结果。它们只是相同值的不同 source-code 表示。

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

String s = Integer.toString(number);

或等同于:

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

作为十六进制整数:

String s = Integer.toHexString(number);

或者,等价地,

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

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