V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
shylockhg
V2EX  ›  问与答

hash 计算的一个疑惑

  •  
  •   shylockhg · 2019-09-08 21:03:40 +08:00 · 1381 次点击
    这是一个创建于 1903 天前的主题,其中的信息可能已经有所发展或是发生改变。

    hash 值取模的时候很多知名开源代码是使用(hash & (size - 1))而不是直接(hash / size),这是为啥么

    5 条回复    2019-09-09 10:48:13 +08:00
    raynor2011
        1
    raynor2011  
       2019-09-08 21:15:04 +08:00 via iPad
    快啊
    whileFalse
        2
    whileFalse  
       2019-09-08 21:18:01 +08:00 via iPhone
    hash/size 什么玩意儿……好歹 hash%size 吧
    minami
        3
    minami  
       2019-09-08 21:24:30 +08:00
    当 size 是 2 的次方时,取模可以等价为按位与
    shylockhg
        4
    shylockhg  
    OP
       2019-09-09 07:16:55 +08:00
    @whileFalse 哈哈,打错了
    hangszhang
        5
    hangszhang  
       2019-09-09 10:48:13 +08:00
    位运算更快
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   959 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 21:01 · PVG 05:01 · LAX 13:01 · JFK 16:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.