掌握逻辑运算的窍门

掌握逻辑运算的窍门,解释逻辑右移时,提及了“逻辑”这个术语。大家听到逻辑这个词可能会感觉有些难,但实际上它很简单。在运算中,与逻辑相对的术语是算术。我们不妨这样考虑,将二进制数表示的信息作为四则运算的数值来处理就是算术。而像图形模式那样,将数值处理为单纯的0和1的罗列就是逻辑。

计算机能处理的运算,大体可分为算术运算和逻辑运算。算术运算是指加减乘除四则运算。逻辑运算是指对二进制数各数字位的0和1分别进行处理的运算,包括逻辑非(NOT运算)、逻辑与(AND运算)、逻辑或(OR运算)和逻辑异或(XOR运算)四种。

逻辑非指的是0变成1、1变成0的取反操作。逻辑与指的是“两个都是1”时,运算结果为1,其他情况下运算结果都为0的运算。逻辑或指的是“至少有一方是1”时,运算结果为1,其他情况下运算结果都是0的运算。逻辑异或指的是排斥相同数值的运算。“两个数值不同”,也就是说,当“其中一方是1,另一方是0”时运算结果是1,其他情况下结果都是0。不管是几位的二进制数,在进行逻辑运算时,都是对相对应的各数位分别进行运算。

表2-1~表2-4总结了各逻辑运算的结果。这些表称为真值表。如果将二进制数的0作为假(false)、1作为真(true)来考虑,逻辑运算也可以被认为是真假的运算。真和真的AND运算结果为真,实际上也确实如此。因为如果两方面都是真,答案就是真。
表2-1 逻辑非(NOT)的真值表
掌握逻辑运算的窍门

表2-2 逻辑与(AND)的真值表
掌握逻辑运算的窍门

表2-3 逻辑或(OR)的真值表
掌握逻辑运算的窍门

表2-4 逻辑异或(XOR)的真值表
掌握逻辑运算的窍门

掌握逻辑运算的窍门,就是要摒弃用二进制数表示数值这一想法。大家不要把二进制数表示的值当作是数值,而应该把它看作是图形或者开关上的ON/OFF(1是ON,0是OFF)。逻辑运算的运算对象不是数值,因此不会出现进位的情况。看起来好像有些麻烦,总之就是不要将它作为数值来考虑。另外,还有一点非常重要,就是要对各种逻辑运算分别能实现什么有一个整体印象。形成这样的印象后,即使不看真值表也能判断出运算的结果。

图2-12表示的是对NIKKEI的头两个字母NI这一图形模式进行各种逻辑运算后的结果。假设白色部分表示1,黑色部分表示0。通过图2-12,我们就会对逻辑运算有一个具体的把握,即“逻辑非是所有位的取反操作”“逻辑与是将一部分变为0(复位到0)的操作”“逻辑或是将一部分变为1(复位到1)的操作”“逻辑异或是将一部分进行取反(相同取0,不同取1)的操作”。

掌握逻辑运算的窍门
图2-12 对图形模式进行4种逻辑运算的结果(这里白色部分表示1,黑色部分表示0)

学完本章后,大家应该对二进制数、移位运算、逻辑运算都十分了解了吧。不过,二进制数的小数1011.0011用十进制数来表示的话是多少呢?大家知道吗?想必大家也都很关心如何用二进制数来表示小数这一问题。下一章会有详细说明。

酷客网相关文章:

赞(0)

评论 抢沙发

评论前必须登录!