夢幻之旅

          DEBUG - 天道酬勤

             :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            671 隨筆 :: 6 文章 :: 256 評論 :: 0 Trackbacks
          package atm;

          import java.math.BigInteger;

          /**
           * <ul>
           * <li>Title:[ScaleUtil]</li>
           * <li>Description: [任何進制之間相互轉換]</li>
           * <li>Copyright 2009 Upengs Co., Ltd.</li>
           * <li>All right reserved.</li>
           * <li>Created by [Huyvanpull] [2011-12-8]</li>
           * <li>Midified by [modifier] [modified time]</li>
           * </ul>
           * 
           * 
          @version 1.0
           
          */

          public class ScaleUtil
          {
              
          /**
               * <ul>
               * <li>Description:[任何進制轉10進制]</li>
               * <li>Created by [Huyvanpull] [2011-12-8]</li>
               * <li>Midified by [modifier] [modified time]</li>
               * </ul>
               * 
               * 
          @param anyScaleStr
               * 
          @param oScale
               * 
          @return
               
          */

              
          public String anyScale2tenScale(String anyScaleStr, long oScale)
              
          {
                  BigInteger tenScaleResult 
          = new BigInteger("0");
                  String[] numStrs 
          = anyScaleStr.split("[,]");
                  
          for (int i = 0; i < numStrs.length; i++)
                  
          {
                      tenScaleResult 
          = tenScaleResult.add(BigInteger.valueOf(oScale).pow(
                              numStrs.length 
          - 1 - i).multiply(
                              BigInteger.valueOf(Long.parseLong(numStrs[i]))));
                  }

                  
          return tenScaleResult.toString();
              }

              
              
          /**
               * <ul>
               * <li>Description:[10進制轉任何進制]</li>
               * <li>Created by [Huyvanpull] [2011-12-8]</li>
               * <li>Midified by [modifier] [modified time]</li>
               * </ul>
               * 
               * 
          @param tenScaleStr
               * 
          @param tScale
               * 
          @return
               
          */

              
          public String tenScale2anyScale(String tenScaleStr, long tScale)
              
          {
                  StringBuffer result 
          = new StringBuffer();
                  BigInteger c62Source 
          = new BigInteger(tenScaleStr);
                  
          while (true)
                  
          {
                      result.insert(
          0, c62Source.mod(BigInteger.valueOf(tScale)) + ",");
                      c62Source 
          = c62Source.divide(BigInteger.valueOf(tScale));
                      
          if (BigInteger.valueOf(tScale).compareTo(c62Source) == 1)
                      
          {
                          
          if (c62Source.longValue() != 0)
                              result.insert(
          0, c62Source.longValue() + ",");
                          
          break;
                      }

                  }

                  
          return result.toString();
              }

              
              
          public static void main(String[] args)
              
          {
                  ScaleUtil su 
          = new ScaleUtil();
                  String anyScaleStr 
          = su.tenScale2anyScale("63"16);
                  System.out.println(anyScaleStr);
                  String tenScaleStr 
          = su.anyScale2tenScale(anyScaleStr, 16);
                  System.out.println(tenScaleStr);
              }

          }

          posted on 2011-12-08 19:18 HUIKK 閱讀(341) 評論(0)  編輯  收藏 所屬分類: Java
          主站蜘蛛池模板: 云浮市| 和政县| 永城市| 潞西市| 灵宝市| 黑水县| 泰顺县| 太和县| 湘潭县| 阳谷县| 西充县| 安丘市| 项城市| 峨边| 田林县| 高青县| 高尔夫| 康马县| 东海县| 独山县| 墨脱县| 瑞昌市| 周至县| 监利县| 苏尼特右旗| 富川| 中牟县| 大邑县| 聂拉木县| 汽车| 伊吾县| 安义县| 遂溪县| 旺苍县| 崇左市| 莲花县| 沾化县| 望奎县| 翁源县| 仁化县| 定州市|