【實操】進制轉換:除基倒取余法


一、原理:除基倒取余法

以10進制轉2進制為例:輸入一個十進制數n,每次用n除以2,把余數記下來,再用商去除以2...依次循環,直到商為0結束,把余數倒着依次排列,就構成了轉換后的二進制數。
所有進制之間的轉換都是如此,2可以換成任何數字。十進制轉二進制、八進制、十六進制、64進制,全部如下。

二、具體的JAVA實現:

2.1 10進制數字轉n進制:

public class Main {

    public static void main (String[] args) {
        int n = 64;//需要轉換的數字
        int m = 5; //轉換的進制(如果大於10,需考慮使用其他字符表示)

        int t = 0;  //用來記錄位數
        int bin = 0; //用來記錄最后的二進制數
        int r = 0;  //用來存儲余數
        while(n != 0){
            r = n % m;
            n = n / m; //注意:n為int,可以保證其肯定是一個整數,且是進制轉換需要的整數
            bin += r * Math.pow(10,t); //pow函數:10的t次方
            t++;
        }
        System.out.println(bin);
    }
}

2.2 n進制數字轉10進制:

public class Main {

    public static void main (String[] args) {
        int n = 224;//需要轉換的數字
        int m = 2; //進制
        int des = 0; //儲存轉換后的結果

        String s = new StringBuilder(String.valueOf(n)).reverse().toString();  //reverse使字符串倒序
        for (int i = 0 ;i<s.length();i++){
            int charIndex = s.charAt(i)-'0';
            des += charIndex*Math.pow(m, i);
        }

        System.out.println(des);
    }
}

<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM