与或非、异或逻辑运算

如题所述

在深入学习的道路上,我重新审视了与或非、异或逻辑运算这一基础概念,它们是编程世界中的逻辑基石,让我们一起探索这些神秘的二进制世界吧!


与运算(AND)


想象一下,这就像两个开关同时打开才能点亮灯泡。在二进制中,我们用0代表关闭,1代表打开。两个and运算的规则是:只有当两个输入都是1时,结果才为1。例如:



    1 and 1 = 1(两个开关打开,灯亮)
    1 and 0 = 0(一个开关关闭,灯不亮)
    0 and 0 = 0(两个开关关闭,灯不亮)
    0 and 1 = 0(一个开关打开,另一个关闭,灯不亮)

或运算(OR)


与与运算相反,或运算就像是在找至少一个开关打开的灯。只要有一个开关是1,灯就会亮。比如:



    1 or 1 = 1(至少一个开关打开,灯亮)
    1 or 0 = 1(一个开关打开,灯亮)
    0 or 0 = 0(两个开关关闭,灯不亮)
    0 or 1 = 1(一个开关打开,灯亮)

非运算(NOT)


非运算则是个大反转者,它将输入的真假值翻转。在Python中,not是逻辑非运算符,而OpenCV中则有特殊的处理,cv2.bitwise_not(a)相当于将图像中的每个像素点取反。例如:



    not True = False
    cv2.bitwise_not(a)[:1,:1] = [[51 52 50] [50 51 49]](OpenCV中的非运算效果)

异或运算(XOR)


异或运算则有点像找两个开关的差异,只要有一个开关的状态不同,结果就是1。看这个例子:



    1 ^ 1 = 0(两个开关相同,灯不亮)
    1 ^ 0 = 1(一个开关打开,另一个关闭,灯亮)
    0 ^ 0 = 0(两个开关都关闭,灯不亮)
    0 ^ 1 = 1(一个开关打开,另一个关闭,灯亮)

在编程中,理解这些逻辑运算符的优先级(not > and > xor > or)对于正确编写代码至关重要,记得在实际操作中灵活运用它们哦!

温馨提示:答案为网友推荐,仅供参考
相似回答