大家帮帮忙~hash << 5 + hash 中的<<是什么意思?该如何处理
程序员文章站
2022-06-06 18:26:25
...
大家帮帮忙~hash [code=PHP][/code]static inline ulong zend_inline_hash_func(char *arKey, uint nKeyLength)
{
register ulong hash = 5381;
/* variant with the hash unrolled eight times */
for (; nKeyLength >= 8; nKeyLength -= 8 {
hash = ((hash hash = ((hash hash = ((hash hash = ((hash hash = ((hash hash = ((hash hash = ((hash hash = ((hash }
switch (nKeyLength) {
case 7: hash = ((hash case 6: hash = ((hash case 5: hash = ((hash case 4: hash = ((hash case 3: hash = ((hash case 2: hash = ((hash case 1: hash = ((hash case 0: break;
EMPTY_SWITCH_DEFAULT_CASE()
}
return hash;
}
------解决方案--------------------
是位移
php移位运算 lz 参考:http://apps.hi.baidu.com/share/detail/23928402
------解决方案--------------------
{
register ulong hash = 5381;
/* variant with the hash unrolled eight times */
for (; nKeyLength >= 8; nKeyLength -= 8 {
hash = ((hash hash = ((hash hash = ((hash hash = ((hash hash = ((hash hash = ((hash hash = ((hash hash = ((hash }
switch (nKeyLength) {
case 7: hash = ((hash case 6: hash = ((hash case 5: hash = ((hash case 4: hash = ((hash case 3: hash = ((hash case 2: hash = ((hash case 1: hash = ((hash case 0: break;
EMPTY_SWITCH_DEFAULT_CASE()
}
return hash;
}
------解决方案--------------------
是位移
php移位运算 lz 参考:http://apps.hi.baidu.com/share/detail/23928402
------解决方案--------------------
- PHP code
$a & $b And(按位与) 将把 $a 和 $b 中都为 1 的位设为 1。 $a | $b Or(按位或) 将把 $a 或者 $b 中为 1 的位设为 1。 $a ^ $b Xor(按位异或) 将把 $a 和 $b 中不同的位设为 1。 ~ $a Not(按位非) 将 $a 中为 0 的位设为 1,反之亦然。 $a > $b Shift right(右移) 将 $a 中的位向右移动 $b 次(每一次移动都表示“除以 2”)。
------解决方案--------------------
长见识了……
------解决方案--------------------
是的,但是位移只能做乘除法
相关文章
相关视频
上一篇: vm命令
下一篇: 链接如何用特定浏览器打开?