java中integer类提供tobinarystring()、tohexstring()等静态方法转换进制:tobinarystring()返回无符号二进制字符串(负数按32位补码),如10→"1010"、-1→"11111111111111111111111111111111";tohexstring()返回小写无符号十六进制字符串,如255→"ff"、-1→"ffffffff";通用tostring(int, int radix)支持2–36进制但负数带负号;前缀需手动拼接,如"0b"+tobinarystring(10)。

Java 中 Integer 类提供了多个静态方法,可直接将整数转换为二进制、十六进制或八进制字符串,无需手动计算。
使用 toBinaryString() 转二进制
该方法返回一个表示参数值的无符号二进制字符串(不带前缀,如 "1010"):
- 只处理数值本身,忽略符号位;负数会按补码形式转为 32 位二进制字符串
- 结果不含
"0b"前缀,如需添加可自行拼接 - 示例:
Integer.toBinaryString(10)→"1010";Integer.toBinaryString(-1)→"11111111111111111111111111111111"
使用 toHexString() 转十六进制
返回小写的无符号十六进制字符串(不带 "0x" 前缀):
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
- 同样对负数按补码处理,输出 8 位十六进制(32 位对应 8 个 hex 字符)
- 字母 a–f 全为小写;如需大写可用
toUpperCase() - 示例:
Integer.toHexString(255)→"ff";Integer.toHexString(-1)→"ffffffff"
其他实用方式:用 toString(int, int radix)
这是更通用的方法,支持任意进制(radix 范围 2–36):
-
Integer.toString(42, 2)→"101010" -
Integer.toString(255, 16)→"ff" -
Integer.toString(100, 8)→"144"(八进制) - 注意:该方法对负数仍以负号开头(如
toString(-10, 2)返回"-1010"),与toBinaryString()行为不同
补充:带前缀的格式化(如 0b / 0x)
标准 API 不自动加前缀,但可简单拼接:
- 二进制:
"0b" + Integer.toBinaryString(10)→"0b1010" - 十六进制:
"0x" + Integer.toHexString(255)→"0xff" - 如需固定位宽(如 8 位、32 位),可用
String.format(),例如:String.format("%8s", Integer.toBinaryString(5)).replace(' ', '0')
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










