方法一:
1、以60為例:(假設為32位)
60 除以 16 商 3 餘。。。。。。。。12
3 除以 16 商 0 餘。。。。。。。。。3
2、然後將餘數倒過來,兩位數的餘數則轉化為字母。
數字與字母對應:
10-----a3、60的十六進製制為:0000003c11-----b
12-----c
13-----d
14-----e
15-----f
方法二:
通過&運算和 右移運算來求解:
步驟如下:
1、先寫出60的32位的二進位制;2、為了求出60的最後四位,需要和15的二進位制進行&運算,如下圖的第一步;
3、然後將60的二進位制右移四位,再與15的二進位制進行&運算,又可以求出最後四位;
4、如此,迴圈第3步,就可以每四位對應的十六進製制;
5、由於當數字大於9時用字母a,b,c,d,e,f來表示;所以需要把大於9的數字轉換為對應的ascii碼值;
6、轉換公式為:(char)(temp-10+'a'),其中temp為10,11,12,13,14,15這幾個值中的乙個;
7、下圖為上述步驟的解析,以及程式;
/** 十進位制--->十六進製制
*/public static void tohex(int num)
system.out.println(ss.reverse()); }
public static void tohex_2(int num);
char arr=new char[8];
int pos=arr.length;
while(num!=0)
// system.out.println("pos="+pos);
for(int x=pos;x
注意:一般情況下右移只需要兩個大於號即 >>,但此程式寫了三個》,是因為如果是負數的時候,它的首位是 1,不論怎麼右移都是1,故》表示無符號右移,即不考慮符號的影響。
輸出為:0000003c
華為初級 十六進製制轉換為十進位制
描述 寫出乙個程式,接收乙個十六進製制的數值字串,輸出該數值的十進位制字串。知識點 字串,迴圈,函式,指標練習階段 初級執行時間限制 10sec記憶體限制 128mbyte輸入 輸入乙個十六進製制的數值字串。輸出 該數值的十進位制字串。樣例輸入 0xa樣例輸出 10 源程式 include usin...
matlab中將十六進製制轉換為十進位制方法
matlab中將十六進製制轉換為十進位制方法 a textread c a.txt s 以字元形式開啟檔案 alpha hex2dec a 16進製制轉化為10進製數,存入alpha矩陣 16進製制轉10進製 轉化方法二 wenjian ming,lujing ming uigetfile c a....
十進位制轉十六進製制(進製轉換)
問題描述 十六進製制數是在程式設計時經常要使用到的一種整數的表示方式。它有0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f共16個符號,分別表示十進位制數的0至15。十六進製制的計數方法是滿16進1,所以十進位制數16在十六進製制中是10,而十進位制的17在十六進製制中是11,以此類推...