2011-03-16 144 views
1

我想知道什麼是數組偏移量和數組位#是什麼?數組偏移量和位#

例如像散列函數中的數組偏移。假設給出了x作爲散列函數的參數。數組偏移量可以是x >> 5(x/32)。位號可以是0x0x1F(x%32)。我沒有得到的是什麼構成一個抵消和什麼構成一個「位數」。

哦是的,該數組是指向整數指針的數組。所以... int * array [size];

由於

+1

更多詳情?你到目前爲止知道什麼? (另外,我從來沒有聽說過數組的位數 - 上下文是什麼?) – Cameron 2011-03-16 01:50:13

回答

0

聽起來你正在談論中的32位的整數的陣列訪問位的碼。因此,比方#0整體將是#0#int#0,#31整體將是####int#0,#32整體將是##0#int#(因爲您用光了int#0中的位)等等。

所以要查看的int#是你的總體位數除以32(因爲每個int使用32位),並且在該int中查看的位#是用32除以後的結果。

您提到的位算法x >> 5x & 0x1F只是執行這些操作的快速方法。