布爾操作符

布爾操作符

幾乎所有的搜索引擎都將布爾邏輯操作符作為最基本的語法規則。布爾操作符用來連接兩個或者更多的布爾表達式,以生成一個完整的布爾表達式。

概述


數值類型可使用全部的布爾操作符:not,and,or,nand,nor,xor,xnor。
有符號類型和無符號類型的布爾操作符與std_logic_vector的布爾操作符工作方式完全相同。
基本布爾操作符對兩個相同大小的參數的每個元素執行按位邏輯運算,得到相同大小的結果。所有版本的std_logic_1164程序包中都包含這個操作符集。
選擇布爾操作符將一位輸入和數組的每個元素進行組合,得到相同大小的數組。這些操作符包含在numeric—std程序包的VHDL-2008版本中,但不是原始程序包的一部分。它們包含在VHDL-1993兼容程序包numeric_std_additions中。
縮減布爾操作符組合了數組的所有元素,產生一位輸出。VHDL-2008版本程序包提供了縮減布爾操作符,但是VHDL-1993兼容程序包numeric_std_additions中提供的是縮減函數(即and_reduce等)。

內容


(1)AND
AND表示邏輯"與"的概念,也可以用"&"表示。它表示要查詢的資料要滿足用戶給出的所有的關鍵詞才被列出。例:在查詢中,給出的條件是:"教育技術AND 中學語文教學",表示查找的資料中必須包含"教育技術",又要包含"中學語文教學",只有兩個關鍵字都同時滿足的資料才能被查出。
(2)OR
OR表示邏輯"或"的概念,也可以用"|"表示。它表示一份資料只要滿足用戶給出的關鍵詞中的一個就可以被查詢到。例:給出條件"小學 OR 學科整合",表示只要包含有"小學"或"學科整合"的其中之一的資料都是符合搜索意圖的信息。
(3)NOT
NOT表示邏輯"非"的概念,也可以表示為"!"。它表示搜索含有NOT之前的關鍵詞的資料,但是排除裡面含有NOT之後的關鍵詞的資料。例:在查詢中,給出條件"課程改革AND NOT 中學",這表示查找包含有"課程改革",但沒有出現"中學"的所有資料。
(4)NEAR
NEAR用於在一定的範圍內尋找同時出現檢索關鍵詞的信息。可以用"~"來表示。這一運算中的關鍵詞可能並不相鄰,間隔越小的排列位置越前,它們彼此間的間距可以/N來控制,N是大於1的整數,表示檢索關鍵詞的間距最大不超過N個單詞。例:在檢索時給出條件:計算機 NEAR/100 遊戲,表示要查找"計算機"和"遊戲"之間間隔不超過100個詞的資料。這種操作可以很好地進一步完善關鍵詞的"相關性"。它既可以統計關鍵詞出現的頻度,又可以檢查關鍵詞相隔的距離。

使用布爾操作符進行查找


一旦確定了查找標準,找到了最適合的查找引擎,你所需知道的下一步便是如何有效地輸入查找標準。許多查找網點允許使用布爾操作符。布爾操作符提供了一種包括或排除關鍵字或概念的方法,以及查找引擎如何翻譯關鍵字的控制方法。
雖然每個查找引擎網點提供了如何使用引擎的提示,以及查找中輸入布爾操作符的相應詞法,但下列信息適合絕大部分情況並將幫助你獲得最佳查找信息。
使用布爾操作符並不困難,但是你需要考慮如何進行查找,大部分查找網點使用的基本布爾操作是AND(與),OR(或)和NOT(非)。“與”操作符有時輸入為“+”或“&”或空格,“非”操作符有時輸入為“一”。進行查找時,通常不必輸入大寫的布爾操作符,但它卻能直觀地分隔關鍵字和操作符。
(1)與
“與”操作符用於查找包括二個以上關鍵詞的信息的情形,例如,當查找有關“employment opportunities”(僱用機會)的網點時,可在查找標準處輸入employment AND opportunities,查找引擎將返回其資料庫中包括二個單詞employment和opportunities的結果,因此,“與”操作符可幫助改善並限制查找結果。
依賴於查找引擎的情況,有時可使用“+”或“&”符號代替布爾符號AND,某些網點在單詞間使用逗號或空格表示布爾操作符AND。
(2)或
“或”操作符與“與”操作符相反,當使用“或”操作符時,查找引擎將在其資料庫中查找只包括一個關鍵詞而不是二個的網點,例如,如果需要足球或藍球運動的信息,查找標準中只須輸入football OR basketball。
“或”操作符通常返回大量的結果,改善這種查找並不會總是有效的。
(3)非
“非”操作符在改善查找結果時類似於“與”操作符,使用“非”從結果中排除那些包括特定單詞或短語的頁面,例如,如果你需要有關樹但不是楓科樹的信息,可在查找標準中輸入tree NOT maple,這將告訴查找引擎返回所有包括單詞tree但不包括單詞maple的所有網點,因此,排除了包括楓科樹的網點。
與“與”操作符一樣,某些網點認識“一”作為“非”操作符。
(4)引號或括弧
其他通用查找技術是使用括弧或引號組合關鍵詞,使用這些符號,告知查找引擎將關鍵詞作為一個字元串在其資料庫中進行查找,例如,要查找圖象結構但非眼鏡結構方面的信息,可以輸入“picture frame”作為短語進行查找,如果單詞包括在括弧內,大多數查找引擎將視之為短語而非二個不同的關鍵詞。
注意,“picture frame”全部是小寫的,許多查找引擎在關鍵詞都是小寫時將返回大量結果,如果輸入“Picture Frame”,某些引擎將返回只包括大小寫混合的短語的頁面,大小寫敏感有時是極有用的,特別是查找人名或地名之類的專有名詞時更是如此。
(5)通配符
星號(*)將作為一種通配符使用,它允許查找複數或近似的單詞。例如,如果在查找標準中輸入*ball,將返回football,basketball,甚至racquetball(回力網球)之類的結果!並非所有的查找網點都支持該通配符。
(6)操作順序
當組合布爾操作符時,應當遵循某些通用規則。與數學方程的計算順序類似,布爾操作符執行時也有一定順序。“與”和“非”命令通常在“或”命令前執行。
當查找德語或義大利語有關的信息時,在查找標準中可輸入(German ORItalian)AND lauguage。通過將German OR Italian括起來,迫使查找引擎首先查找包括單詞German或Italian的所有網點,然後在返回清單中查找包括單詞language的所有網點。這種查找將返回德語和義大利語方面的信息。
如果不使用括弧,查找引擎將查找所有包括單詞Italian和language的所有網點,然後查找包括單詞German的網點,這將返回與義大利語有關的但同時也將包括含有單詞German(即使並不包括language)的網點。
一旦學會了這些布爾操作符的使用技巧,便可以執行許多更高級的查找。