欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

输出一个数的二进制序列

程序员文章站 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();
        }
    }
}

相关标签: 牛客题目 Java