我想将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);
(此时八进制应该很明显(