第八课_二进制的逻辑运算,计算机是如何运算的

前言

前面的课程有粉丝评论说没看懂,本id回去细看了一下,确实写得有些深奥,或者说有些混乱。可能大家刚接触,有些不习惯吧,因为我们已经十几年来只习惯十进制的计算,突然让大家丢到十进制的计算,真没那么容易。

这篇文章讲十进制的逻辑运算,这个简单,就是与、或、非。

为什么要讲这个,因为计算机的本质就是这些二进制的逻辑运算。计算机之所以用二进制,是因为受硬件条件的制约。但是即便是这么简单的0和1,照样能实现强大的功能,什么阿法狗打败国际象棋大师,人脸识别,人工智能等等,无论功能如何炫酷,到计算机底层还是01的逻辑运算实现的。

逻辑或运算

只要有一个1,运算结果就是。在汇编中用 or 表示,在C语言中用“|”表示。

看上图,学过物理的应该很容易理解这个电路图,无论开关1,开关2,任何一个闭合,灯泡就会亮,当然两个都闭合那也肯定亮。

逻辑与运算

只有两个都为1时,运算结果才为1,其他情况结果都为0。在汇编中用and表示,在C语言中用“&”表示。

看上面的电路图,只有开关1和开关2都闭合,灯泡才会亮,其他情况灯都不亮。

逻辑异或运算

只有两个数不同时,运算结果才为1,其他情况都为零。在汇编中用xor表示,在C语言中用“^”表示。

看上面的电路图,只有开关1和开关4同时闭合、开关2和开关3同时闭合时,灯才会亮,如果只是同一边的开关闭合,那么灯是不会亮的。

异或运算在加密算法中常用。看上面的例子,在竖式中,第二个数是秘钥,把第一次运算的结果再和秘钥进行异或运算,得到的结果是原来的数。

这个式子算是程序员的花式表白了,有看明白的吗?(提示:转成十进制)

逻辑非运算

取反,是1则变成0,是0则变成1。在汇编中用not表示 ,在C语言中用“!”表示。

写于2020.3.7 21:21

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值