進制轉化相關問題

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
 
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();
}
相關文章
相關標籤/搜索