下面的位运算符在现实世界中有哪些用例?

和 XOR 不 或 左/右转


当前回答

我一直假设按位操作是相当简单的操作,所以当运行时间至关重要时,通过bitset实现的解决方案可以通过恒定的数量提高运行时间,这取决于算法。

其他回答

我使用它们作为选项处理程序,例如在访问控制列表中描述特定的资源。

看看这篇文章http://planetozh.com/blog/2006/05/php-bitwise-operators-example-of-use/

Edit:

还有一个链接: http://blog.code-head.com/how-to-write-a-permission-system-using-bits-and-bitwise-operations-in-php

数据库世界中的另一个真实应用程序是MySQL,它的数据类型是SET。

位操作符由DBMS存储SET数据类型。设置可以节省空间。

Element    SET Value    Decimal Value
Travel      00000001    1
Sports      00000010    2
Dancing    00000100    4
Fine Dining   00001000  8

它在sql关系模型中也很方便,假设你有以下表:BlogEntry, BlogCategory

传统上,你可以使用BlogEntryCategory表在它们之间创建一个n-n关系 或者当没有那么多的BlogCategory记录时,你可以在BlogEntry中使用一个值来链接到多个BlogCategory记录,就像你会用标记的枚举做的那样, 在大多数RDBMS中,也有一个非常快速的操作符来选择'标记'列…

我使用它们来实现快速BCD计算(会计师和审计员会对fp舍入感到不安)。

当我第一次开始C编程时,我理解了真值表和所有的东西,但直到我读了这篇文章http://www.gamedev.net/reference/articles/article1563.asp(它给出了真实的例子),我才完全了解如何实际使用它。