zoukankan      html  css  js  c++  java
  • 十六进制、二进制、十进制的转换代码

    private static String hexStr =  "0123456789ABCDEF";
        private static String[] binaryArray =  
                {"0000","0001","0010","0011", 
                "0100","0101","0110","0111", 
                "1000","1001","1010","1011", 
                "1100","1101","1110","1111"}; 
         /**
         * @return 二进制数组转换为二进制字符串   2->2
         */ 
        public static String bytes2BinStr(byte[] bArray){ 
            String outStr = ""; 
            int pos = 0; 
            for(byte b:bArray){ 
                //高四位 
                pos = (b&0xF0)>>4; 
                outStr+=binaryArray[pos]; 
                //低四位 
                pos=b&0x0F; 
                outStr+=binaryArray[pos]; 
            } 
            return outStr; 
        } 
        /**
         * @return 将十六进制转换为二进制字节数组   16->2
         */ 
        public static byte[] hexStr2BinArr(String hexString){ 
            //hexString的长度对2取整,作为bytes的长度 
            int len = hexString.length()/2; 
            byte[] bytes = new byte[len]; 
            byte high = 0;//字节高四位 
            byte low = 0;//字节低四位 
            for(int i=0;i<len;i++){ 
                 //右移四位得到高位 
                 high = (byte)((hexStr.indexOf(hexString.charAt(2*i)))<<4); 
                 low = (byte)hexStr.indexOf(hexString.charAt(2*i+1)); 
                 bytes[i] = (byte) (high|low);//高地位做或运算 
            } 
            return bytes; 
        }
        public static String hexStr2BinStr(String hexString){
                return bytes2BinStr(hexStr2BinArr(hexString));
            }
     
    /**
    * @return二进制转换十进制
    */ 
    Integer.parseInt(str,2);
  • 相关阅读:
    (二)shell中的变量
    (一)shell脚本入门
    java的动态代理机制详解
    docker学习
    一、Spring Boot 入门
    如何高效的利用博客园?
    CMake入门指南
    TortoiseSVN安装使用
    TortoiseSVN配置和使用教程
    脑电采集 地电极和参考电极的作用和区别
  • 原文地址:https://www.cnblogs.com/wmm15738807386/p/8177531.html
Copyright © 2011-2022 走看看