gpt4 book ai didi

java - 反转位数

转载 作者:太空狗 更新时间:2023-10-29 22:42:16 26 4
gpt4 key购买 nike

例如,我有二进制数 1011,它等于十进制的 11。我希望反转位的位置,使其变为 1101,即十进制的 13。代码如下:

import java.util.*;
public class bits {
public static void main(String[] args) {
Scanner scnr=new Scanner(System.in);
System.out.println("enter x:");
int x=scnr.nextInt();
int b=0;
while (x!=0){
b|=( x &1);
x>>=1;
b<<=1;
}
System.out.println(b);
}
}

但是当我输入 x 11 然后它打印 26。这是什么错误?

最佳答案

您将 b 移动了太多次。先做移位(这样第一次,当 b == 0 时,它没有效果):

while (x!=0){
b<<=1;
b|=( x &1);
x>>=1;
}

关于java - 反转位数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3165776/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com