java代码如何将二进制倒序

java代码如何将二进制倒序

作者:Rhett Bai发布时间:2026-02-04阅读时长:0 分钟阅读次数:1

用户关注问题

Q
如何在Java中实现二进制字符串的反转?

我有一个表示二进制的字符串,想在Java中将它倒序显示,有什么简便的方法吗?

A

使用StringBuilder反转二进制字符串

可以将二进制字符串传入StringBuilder,然后调用reverse()方法进行反转,最后得到倒序的二进制字符串。例如:

String binaryStr = "1011001";
String reversed = new StringBuilder(binaryStr).reverse().toString();
System.out.println(reversed);  // 输出: 1001101
Q
怎样用Java代码反转整数的二进制位?

除了反转字符串,能否将一个整数的二进制位倒序,并得到对应的整数值?

A

通过位运算对整数二进制位进行颠倒

可以逐位读取整数的二进制位,将它们倒序拼接成新的整数。示例代码如下:

public int reverseBits(int n) {
    int result = 0;
    for (int i = 0; i < 32; i++) {
        result <<= 1;
        result |= (n & 1);
        n >>= 1;
    }
    return result;
}

这段代码将整数n的32位二进制倒序,并返回对应的新整数。

Q
Java中如何用工具类反转二进制表示?

有没有Java内置或第三方工具可以直接用于反转二进制位?

A

利用Integer类的内置方法反转二进制位

Java的Integer类提供了reverse()方法,可以直接将整数的二进制位倒序,示例如下:

int original = 13;  // 二进制为 00000000000000000000000000001101
int reversed = Integer.reverse(original);
System.out.println(reversed);

这个方法会返回一个整数,其二进制位是输入整数二进制位的倒序。注意,此方法处理的是32位整数。