布尔操作符

科普中国-科学百科 2018-02-22

  几乎所有的搜索引擎都将布尔逻辑操作符作为最基本的语法规则。布尔操作符用来连接两个或者更多的布尔表达式,以生成一个完整的布尔表达式。1

  概述

  数值类型可使用全部的布尔操作符: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等)。2

  内容

  (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)的网点。

  一旦学会了这些布尔操作符的使用技巧,便可以执行许多更高级的查找。3

  本词条内容贡献者为:

  陈红 - 副教授 - 西南大学

责任编辑:科普云

上一篇:匀胶机

下一篇:氧化锆空心球砖

科普中国APP 科普中国微信 科普中国微博
科普中国-科学百科
是中国科协为深入推进科普信息化建设而塑造的全新品牌,旨在以科普内容建设为重点,充分依托现有的传播渠道和平台,使科普信息化建设与传统科普深度融合,以公众关注度作为项目精准评估的标准,提升国家科普公共服务水平。

猜你喜欢