蓝桥之旅——小白被虐篇(字符串的进制转化)

当我们用到进制转化的 ,很容易想到java   Integer 提供的一些方法 (我是百度出来的0.0) 很方便  很快捷。

    一下子就转成10进制 转成2进制  ,8进制  ,16进制(先贴出方法吧)

    

Integer.toBinaryString(15);//把15转成2进制的
Integer.toHexString(15); //把15转成16进制的
Integer.toOctalString(15); //把15转成8进制的

但我们有没有想到这样一个问题  当数据较大的时候 超出了int 的范围的时候 怎么办   (又开始无限百度模式)

 哈哈 然后找到以下的帖子  关于字符串的进制转化

                ps:(一定先看原帖  把代码跟我的思路对照  才容易知道我说什么  over 。。。。。。算了 直接贴图吧。。。。)

  1. /** 
  2.      * 将十六进制的字符串转换成二进制的字符串 
  3.      *  
  4.      * @param hexString 
  5.      * @return 
  6.      */  
  7.     public static String hexStrToBinaryStr(String hexString) {  
  8.   
  9.         if (hexString == null || hexString.equals("")) {  
  10.             return null;  
  11.         }  
  12.         StringBuffer sb = new StringBuffer();  
  13.         // 将每一个十六进制字符分别转换成一个四位的二进制字符  
  14.         for (int i = 0; i < hexString.length(); i++) {  
  15.             String indexStr = hexString.substring(i, i + 1);  
  16.             String binaryStr = Integer.toBinaryString(Integer.parseInt(indexStr, 16));  
  17.             while (binaryStr.length() < 4) {  
  18.                 binaryStr = "0" + binaryStr;  
  19.             }  
  20.             sb.append(binaryStr);  
  21.         }  
  22.   
  23.         return sb.toString();  
  24.     }  

他的思路是:

             1.   定义一个 字符串对象  sb;

              2.   把从键盘输入的字符串  一个个切割  然后 利用我们上面  的第三个函数  转化成 2进制   不足的拼接

               3. 输出sb;

              4. 完成


猜你喜欢

转载自blog.csdn.net/qq_33400531/article/details/79632430