根據原始碼自己封裝的十進位制、二進位制、十六進製制轉換工具類:
/**
* 說明:進製轉換幫助類
*/public class sysconverthelp
/*** 十進位制--->二進位制 integer.tobinarystring(a)
* 十進位制--->十六進製制 integer.tohexstring(a)
* 任意進製數轉為十進位制數,注意:十進位制都其他進製相互轉換的中轉進製
*/public string tod(string num, int onsetsystem)
return string.valueof(r); }
/*** 十進位制轉十六進製制
* @return
*/public string toh(int dnum)
/*** 十進位制轉二進位制
* @return
*/public string tob(int dnum)
/** 將十六進製制中的字母轉為對應的數字 */
public int formatting2num(string numstr)
} if (numstr.equals("a") || numstr.equals("a"))
if (numstr.equals("b") || numstr.equals("b"))
if (numstr.equals("c") || numstr.equals("c"))
if (numstr.equals("d") || numstr.equals("d"))
if (numstr.equals("e") || numstr.equals("e"))
if (numstr.equals("f") || numstr.equals("f"))
return i; }
private static sysconverthelp sysconverthelp;
//控制例項入口在getinstance方法中
private sysconverthelp()
//唯一例項入口
public static sysconverthelp getinstance() }}
return sysconverthelp;}}
原始碼案例:
public class mainactivity extends activity implements onclicklistener
backbbutton.setonclicklistener(this);
cleanbutton.setonclicklistener(this); }
@override
public void onclick(view arg0)
if (jinzhi == 2)
jinzhi = 0;
for (int i = 0; i < 16; i++) else
}}
//十進位制
if (arg0 == ten)
if (jinzhi == 0)
jinzhi = 1;
for (int i = 0; i < 16; i++) else
}}
//十六進製制
if (arg0 == sixteen)
if (jinzhi == 0)
jinzhi = 2;
for (int i = 0; i < 16; i++) else
}}
//btn事件
for (int i = 0; i < buttons.length; i++) else
}}
//回退
if (arg0 == backbbutton) else
} //清空,直接設定為0
if (arg0 == cleanbutton)
}/**十六進製制轉二進位制*/
public string htob(string a)
/**二進位制轉十六進製制*/
public string btoh(string a)
/**任意進製數轉為十進位制數,注意:十進位制都其他進製相互轉換的中轉進製*/
public string tod(string a, int onsetsystem)
return string.valueof(r);
} /**將十六進製制中的字母轉為對應的數字*/
public int formatting(string a)
} if (a.equals("a"))
if (a.equals("b"))
if (a.equals("c"))
if (a.equals("d"))
if (a.equals("e"))
if (a.equals("f"))
return i;
} /**將十進位制中的數字轉為十六進製制對應的字母*/
public string formattingh(int a)
if (a == 11)
if (a == 12)
if (a == 13)
if (a == 14)
if (a == 15)
return i;
}}
注意:
任意進製之間的轉換都需要通過十進位製作為中轉進製,該進製—>十進位制—>目標進製
小結:系統封裝了十進位制轉任意進製的api,所以進製之間的轉換,其實就是和十進位制之間的轉換,tod方法實現了任意進製轉十進位制
十進位制—>二進位制
integer.tobinarystring(a)
十進位制—>十六進製制
integer.tohexstring(a)
math.pow(x, y) 計算x的y次方
二進位制,十進位制,十六進製制計算
一.在計算機應用中,二進位制使用字尾b表示 十進位制使用字尾d表示,十六制使用字尾h表示。二.二進位制,十六進製制與十進位制的計算轉換 1.二進位制轉換為十進位制 計算公式 二進位制資料x位數字乘以2的x 1次方的積的總和 例 10101011b d資料10 1010 11x 1位76 5432 1...
十進位制 二進位制 十六進製制轉換
十進位制轉二進位制 十六進製制我覺得最簡單也最方便的辦法就是直接用計算器算了。如果不依賴工具,那我們要如何去計算呢。先來說說二進位制。最多見的是短除法。所謂短除法大家可以去看看 這個百科裡面的詳細明了的解釋。我想補充的一點是 如果你嫌短除法太過於麻煩,可以在拿到乙個二進位制數的時候直接用2 n去減。...
二進位制 十進位制 十六進製制互轉
1.介紹 2進製 用兩個阿拉伯數字表示,0 1 10進製 用十個阿拉伯數字表示,0到9 0 1 2 3 4 5 6 7 8 9 16進製制 0到9 0 1 2 3 4 5 6 7 8 9 a到f a,b,c,d,e,f 16進製制說明 這五個字母來分別表示10,11,12,13,14,15 字母不區...