进制转换_Java

来源:互联网 发布:ubuntu无法登录界面 编辑:程序博客网 时间:2024/05/29 16:26
1、 2进制转为16进制
  1. public class Binary2Hex  
  2. {  
  3.     public static void main(String[] args)  
  4.     {  
  5.         String bString = "1010101111001101";  
  6.         System.out.println(binaryString2hexString(bString));  
  7.     }  
  8.   
  9.     public static String binaryString2hexString(String bString)  
  10.     {  
  11.         if (bString == null || bString.equals("") || bString.length() % 8 != 0)  
  12.             return null;  
  13.         StringBuffer tmp = new StringBuffer();  
  14.         int iTmp = 0;  
  15.         for (int i = 0; i < bString.length(); i += 4)  
  16.         {  
  17.             iTmp = 0;  
  18.             for (int j = 0; j < 4; j++)  
  19.             {  
  20.                 iTmp += Integer.parseInt(bString.substring(i + j, i + j + 1)) << (4 - j - 1);  
  21.             }  
  22.             tmp.append(Integer.toHexString(iTmp));  
  23.         }  
  24.         return tmp.toString();  
  25.     }  
  26. }  
2、 16进制转为2进制
  1. public class Hex2Binary  
  2. {  
  3.     public static void main(String[] args)  
  4.     {  
  5.         String hexString = "ABCD";  
  6.         System.out.println(hexString2binaryString(hexString));  
  7.     }  
  8.   
  9.     public static String hexString2binaryString(String hexString)  
  10.     {  
  11.         if (hexString == null || hexString.length() % 2 != 0)  
  12.             return null;  
  13.         String bString = "", tmp;  
  14.         for (int i = 0; i < hexString.length(); i++)  
  15.         {  
  16.             tmp = "0000"  
  17.                     + Integer.toBinaryString(Integer.parseInt(hexString  
  18.                             .substring(i, i + 1), 16));  
  19.             bString += tmp.substring(tmp.length() - 4);  
  20.         }  
  21.         return bString;  
  22.     }  
  23. }  

阅读全文
0 0
原创粉丝点击