【问题标题】:'HTML Forms' example usage of logical XOR and bit-wise operators逻辑 XOR 和按位运算符的“HTML 表单”示例用法
【发布时间】:2014-02-18 10:00:26
【问题描述】:

我目前正在为具有 HTML、CSS 和(非常基本/有限)JS 方面背景的学生教授 PHP 入门课程。在浏览 PHP 中各种运算符的列表时,我能够在处理注册表单的上下文中给出逻辑 AND 和 OR 的示例:

并且:我们希望我们的用户超过一定的年龄限制并接受我们的条款和条件。

或:我们希望新用户支付注册费或推荐其他三个人注册。

虽然您可以将我的 OR 示例框定为实际上是 XOR。我正在寻找一个更好的例子,最好是在(类似注册的)表单的上下文中。

谷歌搜索它不会产生太多汁液。我比较喜欢的一个例子是“XOR()”下的@http://blogs.msdn.com/b/mvpawardprogram/archive/2013/07/22/excel-2013-real-world-examples-of-new-functions.aspx(工作半天的例子)。

所以,我在这里要求社区提出一个示例,说明在(验证)注册表单中使用 XOR 是有意义的。

而且,在我们讨论的时候,有没有类似的例子来说明按位运算符的一般用法?除了压缩许多布尔值以节省一些字节之外,在哪里使用按位运算符有意义。

感谢您的帮助。

【问题讨论】:

    标签: php forms bitwise-operators xor logical-operators


    【解决方案1】:

    对于注册表单,任何看起来像“您必须选择某项但不能同时选择”的内容实际上是 XOR。对我来说这听起来还是有点弱,但是,注册表是一种限制性的上下文,那里什么都没有发生。

    对于一般的按位运算,典型示例是检查用户是否具有执行特定操作所需的所有权限,但这有点无聊,可以说是您专门针对“一堆布尔值的压缩形式”的示例没有要求。

    所以,这里有一些更令人兴奋的东西。

    位板。好的,所以也许这仍然是“一堆布尔值”,但是,任何整数都只是一堆布尔值。位板很有趣,因为它们有几种技术可以利用加法、减法和乘法的低级特性。例如,请参阅subtracting a rook from a blocking piece

    SWAR(寄存器中的 SIMD,也称为“一次调整多个字节”),例如 this color blending trick,还包括加法和减法以及您可以通过加法和按位运算组合构建的任何内容。

    奇特的算法和数据结构,例如在 O(1) 的定向森林中找到任何两个节点的最近共同祖先,只需 O(n) 预处理,回答范围最小查询和 Fenwick 树。

    或更常见的任务,例如处理比特流,这是许多文件格式所必需的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-13
      • 1970-01-01
      • 1970-01-01
      • 2012-07-20
      • 2011-10-23
      • 2020-01-23
      • 2017-01-11
      • 2014-01-27
      相关资源
      最近更新 更多