跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 为什么有些枚举类型要用 2 的 n 次方存储?
未分類
19 4 月 2020

为什么有些枚举类型要用 2 的 n 次方存储?

为什么有些枚举类型要用 2 的 n 次方存储?

資深大佬 : beexu 65

仅仅是为了位运算时方便吗

大佬有話說 (8)

  • 資深大佬 : ipwx

    1、我猜主说的是 flag 类型而不是单纯的枚举类型。
    2、因为 2^k 是正交的啊。。。

  • 資深大佬 : ipwx

    正交:x[i] & x[j] = 1 当且仅当 i == j

  • 資深大佬 : ipwx

    好吧错了,x[i] & x[j] != 0 当且仅当 i == j

  • 資深大佬 : entimm

    这种方便在数据库中只使用一个字段存储多个数值属于混合值

  • 資深大佬 : EminemW

    这样用一个二进制位就能存了,省很多内存

  • 資深大佬 : k9982874

    内存对齐

  • 資深大佬 : billlee

    不要当成是一个 2^n 整数,它是一个放在第 n 位上的 bit. 一个 bit 就足够表示 true/false 了,需要保存很多开关的时候常用这种方法。

  • 資深大佬 : Justin13

    为了支持枚举值之间的位运算,便于使用

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具