将二进制转换为十进制/十六进制/八进制 (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);
(至此八进制应该很明显了)
我想将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);
(至此八进制应该很明显了)