首先了解十進制轉化成二級制的原理
156的二進制為:
156 % 2 = 78 …… 0
83 % 2 = 39 …… 0
39 % 2 = 19 …… 1
19 % 2 = 9 …… 1
9 % 2 = 4 …… 1
4 % 2 = 2 …… 0
2 % 2 = 1 …… 0
1 % 2 = 0 …… 1 從下到上看即為 10011100
100111000轉八進制實際上就是
00-000-000-000-000-000-000-000-010-011-100
倒數第一組數110 的十進制即:4
倒數第二組數011 的十進制即:3
倒數第三組數010 的十進制即:2 從下到上看即為 234
156的八進制為234
理十六進制的數
0000-0000 0000-0000 0000-0000 1001-1100
倒數第一組數1100的十進制為:12即C
倒數第二組數1001的十進制為:9 9C

倒數第一組數可以看成和1111“與”運算后得出1100,的十進制為12 即為C
然后右移四位

倒數第二組數可以看成和1001“與”原酸后得出1001,的十進制即9
即在代碼中定義一個函式實作
public static void change(int num,int base,int move)
{
if(num==0)//如果是零輸出零,結束
{
System.out.println(0);
return;
}
char[] tables ={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
char[] bottle =new char [32];
int position =bottle.length;//定義一個區域變數,從陣列后面開始存放資料
while (num!=0)
{
int temp =num & base;
bottle[--position] = tables[temp];
num = num >>> move;
}
for(int x=position;x<bottle.length;x++)
{
System.out.print(bottle[x]);
}
System.out.println();
}


轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/138071.html
標籤:Java
