Java~二進制、八進制、十進制、十六進制和任意進制之間的進制轉換

Integer對象的實現方式

10進制轉2進制 Integer.toBinaryString(n); 返回一個二進制字符串.
10進制轉8進制 Integer.toOctalString(n); 返回一個八進制字符串
10進制轉16進制 Integer.toHexString(n); 返回一個16進制字符串
10進制轉 any 進制 Integer.toString(n, any); 返回一個any進制字符串

import java.util.Scanner;

public class BaseConversion {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNext()) {

            int n = scanner.nextInt();

            String tenToTwo = Integer.toBinaryString(n);
            System.out.println("10進制轉2進制:" + tenToTwo);

            String tenToEight = Integer.toOctalString(n);
            System.out.println("10進制轉8進制:" + tenToEight);

            String tenToSixteen = Integer.toHexString(n);
            System.out.println("10進制轉16進制:" + tenToSixteen);

            String tenToAny = Integer.toString(n, 5);
            System.out.println("10進制轉 Any 進制:" + tenToAny);
        }
    }
}

在這裏插入圖片描述

  • any進制到10進制

radix進制的字符串s轉10進制 Integer.parseInt((String) s,(int) radix);

import java.util.Scanner;

public class BaseConversion {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        while (scanner.hasNext()) {
            String s = scanner.nextLine();

            int num = Integer.parseInt(s, 2);
            System.out.println("二進制轉10進制:" + num);

            String s1 = scanner.nextLine();
            int num1 = Integer.parseInt(s1, 8);
            System.out.println("8進制轉10進制" + num1);
        }
    }
}

在這裏插入圖片描述

手動實現方式

  • 十進制轉二進制
    方法爲:十進制數除2取餘法,即十進制數除2,餘數爲權位上的數,得到的商值繼續除2,依此步驟繼續向下運算直到商爲0爲止。
  • 二進制轉十進制
    方法爲:把二進制數按權展開、相加即得十進制數。
  • 二進制轉八進制
    方法爲:3位二進制數按權展開相加得到1位八進制數。(注意事項,3位二進制轉成八進制是從右到左開始轉換,不足時補0)。
  • 八進制轉成二進制
    方法爲:八進制數通過除2取餘法,得到二進制數,對每個八進制爲3個二進制,不足時在最左邊補零。
  • 二進制轉十六進制
    方法爲:與二進制轉八進制方法近似,八進制是取三合一,十六進制是取四合一。(注意事項,4位二進制轉成十六進制是從右到左開始轉換,不足時補0)
  • 十六進制轉二進制
    方法爲:十六進制數通過除2取餘法,得到二進制數,對每個十六進制爲4個二進制,不足時在最左邊補零。
  • 十進制與八進制與十六進制之間的轉換
    十進制轉八進制或者十六進制有兩種方法
    第一:間接法—把十進制轉成二進制,然後再由二進制轉成八進制或者十六進制。
    第二:把十進制轉八進制或者十六進制按照除8或者16取餘,直到商爲0爲止。
  • 八進制或者十六進制轉成十進制
    方法爲:把八進制、十六進制數按權展開、相加即得十進制數。
  • 十六進制與八進制之間的轉換
    八進制與十六進制之間的轉換有兩種方法
    第一種:他們之間的轉換可以先轉成二進制然後再相互轉換。
    第二種:他們之間的轉換可以先轉成十進制然後再相互轉換。

PS: 參考於百度百科和課本

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章