我想知道数组偏移量和数组位# 是什么?
例如像哈希函数一样的数组偏移量。假设给定 x 作为散列函数的参数。数组偏移量可以是 x>>5 (x/32)。位数可以是 x&0x1F (x%32)。我不明白什么是偏移量,什么是“位数”。
哦,是的,数组是指向整数指针的数组。所以...int* array[size];
谢谢
最佳答案
听起来您所说的代码正在访问 32 位整数数组中的位。所以,比方说,位 #0 总体将是 int #0 的位 #0,位 #31 总体将是 int #0 的位 #31,位 #32 总体将是 int #1 的位 #0(因为你用完了int #0 中的位)等
因此,要查看的 int# 是您的总位# 除以 32(因为每个 int 用完 32 位),而要查看的 bit# 是您除以 32 后剩下的部分。
您在 x >> 5
和 x & 0x1F
中提到的位运算只是执行这些操作的一种快速方法。
关于c++ - 数组偏移量和位#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5320105/