思路:
15的二進位制表現形式是0000 0000 0000 0000 0000 0000 0000 1111,所以乙個數和15進行與運算就能得到後四位。
乙個int型變數在記憶體中佔4個位元組,也就是8個十六進製制位,所以迴圈八次。
查表法:
如果資料出現了對應關係,而且對應關係的一方是有序的數字編號,並作為角標使用,這時就必須要想到陣列的使用。
0,1,2,3,4,5,6,7,8,9, a, b, c, d, e, f
0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
**:
class inttohexpublic static void tohex(int num)
// 定義乙個對應關係表。
char chs = ;
/** 一會查表會查到比較的資料。 資料一多,就先儲存起來,再進行操作。 所以定義乙個陣列作為臨時容器。
*/char arr = new char[8];
int pos = arr.length;
/*** while條件是nun!=0而不是pos,可以減少運算量。 ***/
while (num != 0)
system.out.println("pos=" + pos);
for (int x = pos; x < arr.length; x++)
}}
面試題求乙個整數中二進位制1的個數
題目 輸入乙個整數,求該整數的二進位制表達中有多少個1。例如輸入10,由於其二進位制表示為1010,有兩個1,因此輸出2。分析 這是一道很基本的考查位運算的面試題。包括微軟在內的很多公司都曾採用過這道題。乙個很基本的想法是,我們先判斷整數的最右邊一位是不是1。接著把整數右移一位,原來處於右邊第二位的...
乙個面試題
題目是 假設乙個 搜尋引擎收錄了2 24首歌曲,並記錄了可收聽這些歌曲的2 30條url,但每首歌的url不超過2 10個。系統會定期檢查這些url,如果乙個url不可用則不出現在搜尋結果中。現在歌曲名和url分別通過整型的song id和url id唯一確定。對該系統有如下需求 1 通過song ...
乙個面試題
在不超過最右邊的數量的情況下任意組合,要求加起來不超過20280這個數字,但達成最接近的情況,現有一種方法為 1290 4 2990 5,差170,有沒有更接近20280的答案 資料如下 4900 13790 22990 5 意思是不能超過5次,但可以使用1次,2次,3次,4次,5次。2390 31...