输出一个数的二进制序列
程序员文章站
2022-07-14 23:41:49
...
问题:输出一个数的二进制序列
分析:
1、输出32位的二进制序列
2、怎么输出呢?这是个问题,手工计算方法是除以2取余,但是在我们写代码的时候会很复杂,最简单的方法就是移位
3、为了方便理解,我们举一个例子
如果输出5的二进制数(咱们输出四位)
5的二进制是 0101,先输出0,再输出1 再输出0 再输出1
0101>>3(我们把这个二进制数左移3位)就变成 0000
让0000&0001=0;
0101>>2(我们把这个二进制数左移2位)就变成0001 0001&0001=1
0101>>1(我们把这个二进制数左移1位)就变成0010 0010&0001=0
0101>>0(我们把这个二进制数左移0位)就变成0101 0101&0001=1
我们可以注意到输出的就是变换后的最后一位
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while(true) {
int num = scanner.nextInt();
for (int i = 31; i >= 0; i--) {
System.out.print(((num >> i) & 1) + " ");
}
System.out.println();
}
}
}