题目

十进制转二进制字符串输出

思路

本题把十进制整数转成二进制字符串输出。 n==0 直接输出 0;否则反复取 n%2 压栈或存数组,n/=2 直到为 0,再逆序输出各位。

解题分析

除 2 取余得到二进制位,收集后逆序输出。n==0 输出 0 单独处理。递归写法:先 print(n/2) 再 print(n%2),自然得到正序。

完整程序

import java.io.*;

public class Main {
    public static void main(String[] args) {
        long n = 13;
        if (n == 0) System.out.println(0);
        else System.out.println(Long.toBinaryString(n));
    }
}

运行示例

输出:

1101