Java中二进制操作主要涉及位运算、进制转换及二进制数据处理,具体使用方法如下:
一、位运算操作
移位操作 - 有符号右移(`>>`):
保留符号位,高位补符号位(正数补0,负数补1)。例如:`0xFFFFFFF0 >> 4` 结果为 `0xFFFFFFFF`。 - 无符号右移(`>>>`):高位补0,适用于无符号整数。例如:`-1 >>> 2` 结果为 `0x7FFFFFFF`。 - 左移操作(`<<`):低位补0,常用于乘以2的幂。例如:`1 << 1` 结果为 `2`。2. 按位与(`&`)、异或(`^`)、或(`|`)
- 用于位级比较和数据操作。例如:`0b1100 & 0b1010` 结果为 `0b1000`(按位与)。 二、进制转换方法
整数转二进制 - 使用 `Integer.toBinaryString(int)` 方法,例如:`Integer.toBinaryString(255)` 返回 `"11111111"`。 - 通过 `Integer.toString(int, 2)` 方法实现,效果与 `toBinaryString` 相同。2. 其他进制转换
- 十进制转八进制:`Integer.toOctalString(int)`;
- 十进制转十六进制:`Integer.toHexString(int)`;
- 其他进制转十进制:`Integer.parseInt(String s, int radix)`。 三、二进制数据处理
声明与操作二进制数据
- 可以直接声明 `byte`、`short`、`int` 等类型存储二进制数据,例如:`byte flag = 0b1010;`。 - 使用位运算符拆分/组合二进制位,例如:`0b1101` 拆分为 `0b1000`(矮)和 `0b0011`(笨)。2. 读写二进制文件
- 写入:`FileOutputStream.write(byte[])`;
- 读取:`FileInputStream.read(byte[])`。 四、应用场景示例
状态标识: 用4位二进制数表示性别、身高、外貌等属性(如 `0b1101` 表示“男、矮、丑、笨”)。- 高效计算