将许多布尔状态存储/打包为一个数字的名称是什么?
这是一种简单的压缩,其中您使用一个数值变量来存储许多布尔/二进制状态,并使用加倍,并且每个加倍数均为1 +所有先前值的总和。 我确信它一定是一种古老的,众所周知的技术,我想知道正确地引用它是什么。我已经尝试过用各种方式描述它,但是在一些博客文章中什么也没发现,在这些博客文章中,作者似乎已经意识到了这一点,也不知道该怎么称呼(示例1,示例2)。 例如,这是一个非常简单的实现,旨在说明该概念: packStatesIntoNumber () { let num = 0 if (this.stateA) num += 1 if (this.stateB) num += 2 if (this.stateC) num += 4 if (this.stateD) num += 8 if (this.stateE) num += 16 if (this.stateF) num += 32 return num } unpackStatesFromNumber (num) { assert(num < 64) …