开发者社区 问答 正文

既然是 64 位,为何第一位不使用?

既然是 64 位,为何第一位不使用?

展开
收起
kun坤 2020-04-24 10:41:41 507 分享 版权
1 条回答
写回答
取消 提交回答
  • Snowflake 解惑

    首位不用主要是为了保持 ID 的自增特性,若使用了最高位,int64_t 会表示为负数。在 Java 中由于 long 类型的最高位是符号位,正数是 0,负数是 1,一般生成的 ID 为正整数,所以最高位为 0。

    2020-04-24 10:41:59
    赞同 展开评论
问答地址: