我目前正在为具有HTML,CSS和(非常基本/有限)JS背景的学生教授PHP入门课程。在浏览PHP中的各种运算符列表时,我能够在处理注册表单的上下文中给出逻辑AND和OR的示例:
AND:我们希望用户超过一定的年龄限制并接受我们的条款和条件。
或:我们希望新用户支付注册费,或者让其他三人注册。
虽然您可以将我的OR示例框架为实际上是异或。我正在寻找一个更好的例子,最好是在(类似注册)形式的背景下。
谷歌搜索它并没有多少果汁。我喜欢的一个例子是“XOR()”下的@ http://blogs.msdn.com/b/mvpawardprogram/archive/2013/07/22/excel-2013-real-world-examples-of-new-functions.aspx(工作半天的例子)。所以,我在这里要求社区提出一个例子,其中使用XOR(验证)注册表格是有意义的。
而且,虽然我们在这里,但是对于按位运算符的使用一般有什么类似的例子吗?使用按位运算符的地方有意义,除了压缩许多布尔值以节省一些字节。
感谢您的帮助。
答案 0 :(得分:0)
对于注册表单,任何看起来像“你必须选择一些而你不能同时选择”的东西实际上都是异或。这听起来对我来说仍然很弱,但是,注册表格是一种限制性的背景,那里没有什么事情发生。
对于一般的位操作,典型的例子是检查用户是否有所有做某个动作所需的权限,但它是一种无聊的,可以说是“一帮布尔的压缩形式”的一个例子,你专没有要求。
所以,这里有一些更令人兴奋的东西。
位棋盘。好吧,也许这仍然是“一群布尔”,但是,任何整数都只是一堆布尔。位板很有意思,因为有几种技术可以利用加法,减法和乘法的低级特性。例如,请参阅subtracting a rook from a blocking piece。
SWAR(SIMD寄存器,也由较简单的名称为“调整一次几个字节”已知内),例如this color blending trick,而且还相加和相减以及任何你能构建出加法和按位的组合的操作
好奇算法和数据结构,例如(1)仅具有O(N)前处理找到任何两个节点的最近共同祖先中的树木为O面向森林,回答范围最小查询和树状数组。< / p>
或更常见的任务,例如为比特流工作,这是许多文件格式所必需的。