嘿!我一直在尋找這個代碼在http://www.gnu.org/software/m68hc11/examples/primes_8c-source.html爲什麼使用十六進制?
我注意到,在某些情況下,他們在線路134使用十六進制數字,如:
for (j = 1; val && j <= 0x80; j <<= 1, q++)
現在他們爲什麼要使用0x80的?我不是十六進制,但我發現了一個十進制在線十六進制,它給了我128個0x80。
還行134之前,線114上他們有這樣的:
small_n = (n & 0xffff0000) == 0;
十六進制爲十進制給我4294901760爲十六進制數。 因此,在這一行中,他們做了一些AND並將結果與0進行比較?
爲什麼不只是使用數字? 任何人都可以請解釋,並請舉例說明其他情況。
此外,我已經看到了大量行代碼,它只是十六進制數,從來沒有真正明白爲什麼:(
對第二個例子的小修改:它刪除了一個四字節數字的低兩個字節。刪除較低的四個字節將簡單地爲「small_n = 0;」。 – 2008-10-28 16:36:10
D'Oh!你知道,我正在寫「4位數字」和「兩個字節」之間進行辯論,所以很自然地我把它們混合成了一個錯誤的陳述..... – 2008-10-28 17:18:16