java代码如何将二进制倒序

java代码如何将二进制倒序

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

用户关注问题

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

我有一个表示二进制数的字符串,想在Java代码里将其倒序,比如"1010"变成"0101",应该怎么写?

A

使用StringBuilder的reverse方法实现二进制字符串倒序

可以通过Java的StringBuilder类来完成字符串的倒序操作。具体步骤是将二进制字符串传入StringBuilder构造方法,然后调用reverse()方法,最后再通过toString()获得倒序后的字符串。示例代码如下:

String binaryStr = "1010";
String reversedStr = new StringBuilder(binaryStr).reverse().toString();
System.out.println(reversedStr);  // 输出:0101
Q
Java中如何反转一个整数的二进制表示?

我想要将一个整数的二进制位顺序反转,比如对int类型进行二进制倒序处理,有哪些方法可以实现这一功能?

A

使用位运算对整数的二进制进行反转

可以通过位运算来逐位反转整数的二进制。例如,针对32位整数,依次读取每一位,将其放置到结果的相反位置。实现思路包括循环32次,分别取出当前最低位,通过左移拼接到结果中。示例如下:

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的二进制逐位反转,返回反转后的整数。

Q
怎样将二进制数字反转后转换回整数?

如果我有二进制的字符串数据,倒序后希望转换回整数类型,应该怎么用Java实现?

A

倒序二进制字符串后使用内置方法转换为整数

先将二进制字符串通过StringBuilder逆序,再用Java的Integer.parseInt方法按二进制基数转换回整数。示例代码如下:

String binaryStr = "1101";
String reversed = new StringBuilder(binaryStr).reverse().toString();
int result = Integer.parseInt(reversed, 2);
System.out.println(result);  // 输出对应的十进制数

该方法可以方便将倒序的二进制字符串还原为对应的十进制整数。