2011-03-16 110 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只是执行这些操作的快速方法。