import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
int n = 7;
tenToTwo(n);
tenToEight(n);
tenToSixs(n);
otherToTen();
twoToTen("1010");
}
// 10進(jìn)制轉(zhuǎn)2進(jìn)制
public static void tenToTwo(int n){
int record = n;
if (n == 0) {
System.out.println(0);
}
ArrayList<Integer> list = new ArrayList<Integer>();
while (n!=0) {
list.add(n % 2);
n = n / 2;
}
StringBuilder strBu = new StringBuilder();
for(int i=list.size()-1;i>=0;i--){
strBu.append(list.get(i));
}
System.out.println("10進(jìn)制轉(zhuǎn)2進(jìn)制:"+ record +"->" + strBu.toString());
}
// 10進(jìn)制轉(zhuǎn)8進(jìn)制
public static void tenToEight(int n){
int record = n;
if (n == 0) {
System.out.println(0);
}
ArrayList<Integer> list = new ArrayList<Integer>();
while (n!=0) {
list.add(n % 8);
n = n / 8;
}
StringBuilder strBu = new StringBuilder();
for(int i=list.size()-1;i>=0;i--){
strBu.append(list.get(i));
}
System.out.println("10進(jìn)制轉(zhuǎn)8進(jìn)制:"+ record +"->" + strBu.toString());
}
// 10進(jìn)制轉(zhuǎn)16進(jìn)制
public static void tenToSixs(int n){
int record = n;
if (n == 0) {
System.out.println(0);
}
ArrayList<String> list = new ArrayList<String>();
while (n!=0) {
if(n % 16 == 10){
list.add("a");
} else if(n % 16 == 11){
list.add("b");
} else if(n % 16 == 12){
list.add("c");
} else if(n % 16 == 13){
list.add("d");
} else if(n % 16 == 14){
list.add("e");
} else if(n % 16 == 15){
list.add("f");
} else {
list.add(String.valueOf(n % 16));
}
n = n / 16;
}
StringBuilder strBu = new StringBuilder();
for(int i=list.size()-1;i>=0;i--){
strBu.append(list.get(i));
}
System.out.println("10進(jìn)制轉(zhuǎn)16進(jìn)制:"+ record +"->" + strBu.toString());
}
/**其他進(jìn)制轉(zhuǎn)化為10進(jìn)制
* 我們平時用到Integer.parseInt("123");其實默認(rèn)是調(diào)用了int i =Integer.parseInt("123",10);
* 其中10代表的默認(rèn)是10進(jìn)制的,轉(zhuǎn)換的過程可以看成: i= 1*10*10+2*10+3
* 若是 int i = Integer.parseInt("123",16); 即可以看成: i = 1*16*16+2*16+3
*/
public static void otherToTen(){
// 16進(jìn)制轉(zhuǎn)換為10進(jìn)制
System.out.println("16進(jìn)制轉(zhuǎn)換為10進(jìn)制:"+"76E"+"->"+Integer.parseInt("76E", 16));
// 8進(jìn)制轉(zhuǎn)換為10進(jìn)制
System.out.println("8進(jìn)制轉(zhuǎn)換為10進(jìn)制:"+"1010"+"->"+Integer.parseInt("1010", 8));
// 2進(jìn)制轉(zhuǎn)換為10進(jìn)制
System.out.println("2進(jìn)制轉(zhuǎn)換為10進(jìn)制:"+"1010"+"->"+Integer.parseInt("1010", 2));
}
// 2進(jìn)制轉(zhuǎn)10進(jìn)制
public static void twoToTen(String n){
if (n == "0") {
System.out.println(0);
}
char[] ch = n.toCharArray();
int sum = 0;
for(int i=0;i<ch.length;i++){
int temp = 0;
if(ch[i] =='1'){
temp = 1;
}
sum = sum * 2 + temp;
}
System.out.println("2進(jìn)制轉(zhuǎn)10進(jìn)制:"+ n +"->" + sum);
}
}
進(jìn)制轉(zhuǎn)換
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
推薦閱讀更多精彩內(nèi)容
- 1、正整數(shù)轉(zhuǎn)二進(jìn)制 2、負(fù)整數(shù)轉(zhuǎn)二進(jìn)制 3、小數(shù)轉(zhuǎn)二進(jìn)制
- “楚雖三戶,亡秦必楚”,這是一條預(yù)言,并且得到了應(yīng)驗。秦失其鹿,天下共逐之,張楚首事發(fā)難,西楚破釜滅秦,然而二楚的...