美文网首页
进制间的转换

进制间的转换

作者: hswwjp | 来源:发表于2018-12-15 12:04 被阅读13次

    代码:

        public static void main(String[] args) {
            int a = 53;
            String b = "110101";
            // 获取十进制数 53 的二进制数
            System.out.println(String.format(" 数字 %d 的二进制是 %s", a, decimalToBinary(a)));
            // 获取二进制数 110101 的十进制数
            System.out.println(String.format(" 数字 %s 的十进制是 %d", b, binaryToDecimal(b))); 
        }
    
        /**
         * @Description: 十进制转换成二进制
         * @param decimalSource
         * @return String
         */
        public static String decimalToBinary(int decimalSource) {
            // 转换成 BigInteger 类型,默认是十进制
            BigInteger bi = new BigInteger(String.valueOf(decimalSource));
            // 参数 2 指定的是转化成二进制
            return bi.toString(2); 
        }
    
        /**
         * @Description: 二进制转换成十进制
         * @param binarySource
         * @return int
         */
        public static int binaryToDecimal(String binarySource) {
            // 转换为 BigInteger 类型,参数 2 指定的是二进制
            BigInteger bi = new BigInteger(binarySource, 2);
            // 默认转换成十进制
            return Integer.parseInt(bi.toString());     
        }
    
    

    输出:

    数字 53 的二进制是 110101
    数字 110101 的十进制是 53
    

    参考资料:https://time.geekbang.org/column/article/71840

    相关文章

      网友评论

          本文标题:进制间的转换

          本文链接:https://www.haomeiwen.com/subject/yjtahqtx.html