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: 參考於百度百科和課本