usr_root 2022-08-19 20:23 采纳率: 75%
浏览 13

哈希33返回值的问题

哈希33返回值
问题相关代码
unsigned int hash(char *str)
{
    unsigned int h=0;
    while(*str)
    {
        h+=(h<<5)+ *str++;
    }
    return h&0x7fffffff;//可以得到31位的正整数。
}
这样和直接用int作为返回值有什么区别?
  • 写回答

3条回答 默认 最新

  • 快乐鹦鹉 2022-08-19 20:32
    关注

    和直接用int作为返回值有什么区别

    h&0x7fffffff
    相当于取int型的绝对值

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 8月19日

悬赏问题

  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试
  • ¥20 问题请教!vue项目关于Nginx配置nonce安全策略的问题
  • ¥15 教务系统账号被盗号如何追溯设备
  • ¥20 delta降尺度方法,未来数据怎么降尺度
  • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
  • ¥15 再不同版本的系统上,TCP传输速度不一致