位运算简单题
4.unsigned short hash(unsigned short key)
{
return (key> > )%256
}
请问hash(16),hash(256)的值分别是:
A.1.16;B.8.32;C.4.16;D.1.32
写明计算步骤,(key> > )不知右移多少位?
[解决办法]
排除法,选A)
应该是右移了4位。。
[解决办法]
楼主是不是你自己搞错了 这段代码在VS上明显编译错误 0_0
[解决办法]
这个问题前几天已经问过了.
[解决办法]
这个怎么算了,看不懂
(key> > )%256
先哪步再哪步呀
[解决办法]
我也没编译通过,是不是写错了
[解决办法]
unsigned short hash(unsigned short key)
{
return (key> > )%256
}
应该是这样的吧
unsigned short hash(unsigned short key)
{
return (key> > 4)%256
}
答案是
hash(16) = [(10000)B> > 4] % 256 = 1
hash(256) = [(100000000)B> > 4] % 256 = 16
因此才得出选A 不知道一楼的哥们怎么得到的
[解决办法]
请问hash(16),hash(256)的值分别是:
A.1.16;B.8.32;C.4.16;D.1.32
首先%256肯定不起作用,因为16/256移动一位以后都小于256,所以只要考虑key> > n即可
我们考虑16=10H,他右移可能的结果是
移动位数,结果
1 8
2 4
3 2
4 1
对比四个答案
A.1.16;B.8.32;C.4.16;D.1.32
A: n=4,带入key=256得到结果是16,match
B: n=1,带入key=256结果是128,不match
C: n=2,带入key=256结果是64,不match
D: n=3,带入key=256结果是16,不match
所以答案就是A,移动位数为4