0

我刚刚学习了一些关于 Bits 如何工作的在线教程。虽然我有几个问题。我已经搜索了互联网,但没有找到我要找的东西。我可能一直在寻找一些不正确的关键词。

假设我希望使用按位构建选项或权限系统(我认为这是正确的术语)。我有以下犹豫:

1)使用&等时是否可能会发生碰撞?

2)如果有冲突的机会,我在设计我的权限时应该采取什么样的步骤?如果我有相当大的权限集(例如超过 500 个),权限编号会改变吗?

希望我能正确地回答我的问题,如果没有,请告诉我,我会尝试改写。

编辑:: 类似的问题在这里我相信已经回答

使用按位运算符对不同模块的用户角色权限

4

1 回答 1

1
  1. 什么样的碰撞?
  2. 对于 500 种不同的权限,您必须存储 500 位。不存在可以直接处理 500+ 位值的计算机。对于位系统,您基本上只能使用底层 cpu 可以提供的内容,例如 8、16、32、64 位大小的值。除此之外的任何东西都必须分成多个不同的内存块。

例如

permission_flags && (1 << 475)

在现有的每个平台上都会失败,因为一旦你移过第 63 位,你就超过了 cpu 可以直接支持的东西。

于 2012-11-08T16:10:54.633 回答