二進位制 十進位制 十六進製制之間轉換方法

2021-07-22 13:34:26 字數 3007 閱讀 4707

根據原始碼自己封裝的十進位制、二進位制、十六進製制轉換工具類:

/**

* 說明:進製轉換幫助類

*/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 字母不區...