zoukankan      html  css  js  c++  java
  • Java 二进制和十进制互转,二进制和BitSet互转

        /**
         * 二进制转十进制
         * 
         * @param binaryNumber
         * @return
         */
        public static int binaryToDecimal(int binaryNumber) {
    
            int decimal = 0;
            int p = 0;
            while (true) {
                if (binaryNumber == 0) {
                    break;
                } else {
                    int temp = binaryNumber % 10;
                    decimal += temp * Math.pow(2, p);
                    binaryNumber = binaryNumber / 10;
                    p++;
                }
            }
            return decimal;
        }
    
        /**
         * 十进制转二进制
         * 
         * @param n
         * @return
         */
        public static String decimalToBinary(int n) {
            String str = "";
            while (n != 0) {
                str = n % 2 + str;
                n = n / 2;
            }
            return str;
        }
        
        /** 
         * @Description: 十进制转换成二进制 () 
         * @param decimalSource 
         * @return String 
          */  
         public static String decimalToBinary(BigInteger decimalSource) {  
    //         BigInteger bi = new BigInteger(String.valueOf(decimalSource));  //转换成BigInteger类型  
             return decimalSource.toString(2);  //参数2指定的是转化成X进制,默认10进制  
         }  
           
         /** 
         * @Description: 二进制转换成十进制  
         * @param binarySource 
         * @return int 
          */  
         public static BigInteger binaryToDecimal(String binarySource) {  
             BigInteger bi = new BigInteger(binarySource, 2);    //转换为BigInteger类型  
    //         return Integer.parseInt(bi.toString());     //转换成十进制  
             return bi;     //转换成十进制  
         }  
    
            /**
             * BitSet转二进制
             * 
             * @param bitSet
             * @return
             */
            public static String bitSetToBinary(BitSet bitSet) {
                StringBuilder stringBuilder = new StringBuilder();
                for (int i = 0; i < bitSet.length(); i++) {
                    if (bitSet.get(i)) {
                        stringBuilder.append("1");
                    } else {
                        stringBuilder.append("0");
                    }
                }
                return stringBuilder.toString();
            }
    
            /**
             * 二进制转BitSet
             * 
             * @param binary
             * @return
             */
            public static BitSet binaryToBitSet(String binary) {
                BitSet bitSet = new BitSet();
                for (int i = 0; i < binary.length(); i++) {
                    String c = String.valueOf(binary.charAt(i));
                    if ("1".equals(c)) {
                        bitSet.set(i, true);
                    }
                }
                return bitSet;
            }
  • 相关阅读:
    30、Java中Set集合之HashSet、TreeSet和EnumSet
    此地址使用了一个通常用于网络浏览以外的端口。出于安全原因,Firefox 取消了该请求。
    C# 关闭显示器(显示)
    29、java中阻塞队列
    28、队列和栈
    27、ArrayList和LinkedList的区别
    26、线性表(List)
    WMI使用的WIN32_类库名
    android 怎样加速./mk snod打包
    hdu1081 最大子矩阵
  • 原文地址:https://www.cnblogs.com/BobXie85/p/8884026.html
Copyright © 2011-2022 走看看