zoukankan      html  css  js  c++  java
  • 进制转化相关问题

    1.10进制转16进制
        2591转化为16进制数:
    ... + x2*16^2 + x1*16^1 + x0*16^0  =  2591
    同mod16得到:
    x0 = 2591 % 16 = 15   --->   x0 = 15
    同除以16:
    ... + x2 * 16^1 + x1*16^0 = 161
    再次同mod16:
    x1 = 1
    同除以16:
    ... + x2 * 16^0 = 10
    再次mod 16:
    x2 = 10
    除以16:
    右边因式 = 0,计算结束
    转化后数字为:A1F
     
     
    2.16进制转10进制
        16进制数A1F转化为10进制计算方式:
            10*16^2 + 1*16^1 + 15*16^0 = 2560 + 16 + 15 = 2591
        写代码过程中,从高位到低位,每两位都可以提取一个16计算,代码如下:
        
        public int titleToNumber(String s) {
            int lineNum = 0;
            for(int i = 0;i < s.length();i++){
                int num = s.charAt(i) - '0';
                if(s.charAt(i) > '9'){
                    num = s.charAt(i) - 'A'+ 10;
                }
                lineNum = lineNum * 16 + num;
            }
            return lineNum;
        }
    3.excel列名称计算(10进制转26进制,思想同1)
        需注意,excel列名称计算,与普通的进制转化不相同,是从1开始的,并且,也不是满26进1,满26依然是26(Z),27则变为AA(依然是从1开始)
        代码:
         
        public String convertToTitle(int n) {
            StringBuilder strBuilder = new StringBuilder();
            while(n != 0){
                n--;
                int x = n % 26;
                strBuilder.insert(0,(char)('A' + x));
                n = n / 26;
            }
            return strBuilder.toString();
        }

     4.10进制转化为7进制

    类似16进制转化,代码如下

    public String convertToBase7(int num) {
            boolean flag = num < 0 ? true : false;
            String result = "";
            num = Math.abs(num);
            do{
                result = num%7+""+ result;
                num = num/7;
            }while(num != 0);
            if(flag) result = "-" + result;
            return result;
    
        }
     
  • 相关阅读:
    【修订】为什么OO方法是有本质缺陷的?
    jQuery到底有什么好?
    qsort还是std::sort,一个排序引发的血案
    小小的吹一下集结号~
    谈谈学习与讨论风格:信任、质疑与交流
    职场中的我们,应该有多和谐?
    我到底是在干嘛?
    最近一些想法
    老饭新炒:object based、object oriented与弱类语言
    Flash性能分析与调试工具
  • 原文地址:https://www.cnblogs.com/wangzepu/p/12055390.html
Copyright © 2011-2022 走看看