2014-02-18 48 views
0

我目前正在給學生提供一些PHP入門課程,包括HTML,CSS和(非常基本/有限)JS的一些背景知識。在查看PHP中各種運營商的列表時,我能夠在處理註冊表單的情況下給出邏輯AND和OR的示例:'HTML Forms'邏輯XOR和按位運算符的示例用法

AND:我們希望我們的用戶超過某個年齡限制並接受我們的條款和條件。

OR:我們希望新用戶支付註冊費或者轉介其他三人進行註冊。

儘管您可以將我的OR示例構建爲實際上是XOR的示例。我正在尋找一個更好的例子,最好是在(類似註冊)表單的情況下。

使用谷歌搜索不會給太多的果汁。我比較喜歡的一個例子是@http://blogs.msdn.com/b/mvpawardprogram/archive/2013/07/22/excel-2013-real-world-examples-of-new-functions.aspx「XOR()」(工作半天的例子)。

所以,我在這裏要求社區提出一個例子,在其中使用XOR(驗證)註冊表格是有意義的。

而且,雖然我們在這裏,是否有任何類似的一般使用位運算符的例子?在使用按位運算符的情況下,除了壓縮許多布爾值以節省一些字節之外,哪裏會有意義。

感謝您的任何幫助。

回答

0

對於註冊表格,任何看起來像「你必須選擇某件東西而你不能選擇兩者」的東西實際上是異或。對我來說,這聽起來仍然很乏味,但是,註冊表是一種有限的上下文,沒有什麼會發生。

對於一般的按位操作,典型示例是檢查用戶是否具有執行某個操作所需的所有特權,但這有點無聊,可以說是一種「壓縮形式的一堆布爾」具體沒有要求。

所以,這裏有一些更令人興奮的東西。

擋板。好吧,也許這仍然是「一堆布爾值」,但是,任何整數都只是一堆布爾值。比特板是有趣的,因爲有幾種技術利用加法,減法和乘法的低級特性。例如,請參見subtracting a rook from a blocking piece

SWAR(SIMD在一個寄存器中,也被稱爲「一次調整多個字節」的簡單名稱),例如this color blending trick,還包括加法和減法以及任何可以由加法和位操作組合構建的任何東西。 O(1)中只有O(n)預處理,回答範圍最小查詢和Fenwick樹,找到樹中定向森林中任意兩個節點的最近共同祖先的好奇算法和數據結構。

或者更常見的任務,如處理比特流,這是許多文件格式所必需的。