夢幻之旅

          DEBUG - 天道酬勤

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

          import java.math.BigInteger;

          /**
           * <ul>
           * <li>Title:[ScaleUtil]</li>
           * <li>Description: [任何進(jìn)制之間相互轉(zhuǎn)換]</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:[任何進(jìn)制轉(zhuǎn)10進(jìn)制]</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進(jìn)制轉(zhuǎn)任何進(jìn)制]</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 閱讀(354) 評論(0)  編輯  收藏 所屬分類: Java
          主站蜘蛛池模板: 华亭县| 新竹县| 成武县| 唐山市| 河间市| 崇礼县| 原阳县| 濮阳市| 泽库县| 平陆县| 四川省| 鸡西市| 高密市| 陆良县| 蒙自县| 安多县| 四川省| 汝阳县| 新沂市| 卓资县| 河西区| 莎车县| 九龙坡区| 资阳市| 安乡县| 靖宇县| 长白| 桐柏县| 宽甸| 伊川县| 静宁县| 抚远县| 贡觉县| 林西县| 政和县| 元阳县| 白水县| 宁晋县| 富裕县| 连江县| 淳安县|