十进制转二进制为什么最后需要反转一下

十进制转二进制方法

  • 对十进制数字取余,余数结果拼接再反转就是二进制
    private static String decimal2Binary(int num) {
        StringBuilder sb = new StringBuilder();
        while (num != 0) {
            sb.append(num & 1); // 取当前num最低位二进制值
            num = num >> 1;
        }
        return sb.reverse().toString();
    }

如上代码; 当num为33时,33的二进制为 100001
num & 1 的意义就是取100001 的最低位的二进制值, 解析如下
在这里插入图片描述
所以, 使用StringBuilder进行拼接,是最低位开始拼接的. 所以最后使用reverse() 进行反转, 使输出结果最高位在最前(最左)


版权声明:本文为zps925458125原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。