研究使用按位比较来评估可能的100个选项中选择了哪些选项的可能性。大数位按位比较
现在作为一个整数,所有选项的选择将需要存储整数2到99的幂(6E29)。超出大约9E18的极限。
与dir权限一样(1 =读取,2 =写入,4 =执行)1 + 2 + 4 = 7 =完全访问。
我想知道100个选项中的哪一个已经被相同的方法选择。
任何意见/提示非常感谢。
NB存储将是MySQL的
- 编辑 -
这里的最终目标是简化检查,以什么货币,用户可以在支付
分配值货币像这样:
Currency OptVal
GBP 1
USD 2
EUR 4
AUD 8
CAD 16
ZAR 32
等等(还有很多很多的货币,更将通过加密货币我敢肯定出现)
然后检查用户使用按位运算符的哪种货币会很方便...
因此,如果用户的货币设置仅为GBP和USD。 5 GBP & EUR 63 GBP,USD,EUR,AUD,CAD,ZAR
等等 - 希望能够澄清目标。
问题是,如果您的账户大于100种货币,则以最简单的形式存储该整数。您需要每个选项的值为2E(n-1),对于大数目n,此数字非常大且不能作为整数存储(BIGINT最大值为18446744073709551615)
100位可以用4 x 32位整数表示 –
所以基本上选项数/ 32是表示该选项所需的整数数?比较将会是4位中的任何一位设置的位数? –