1.1 + 1 = 2我们人类最熟悉的加法, 但是计算机是不知道的计算机只有2进制, 2进制的底层是各种电路那么计算机怎么进行加法运算呢? 以前对这个知识一知半解, 后来在油管上看到了一个Computer Science Crash Course的视频, 才恍然大悟

0x01: 神奇的异或门

在2进制里, 加法正好和大名鼎鼎的异或门(XOR)具有同样的属性!!!比如下图中① A = 0, B = 0 => Y = A+B =0 (英文叫Sum)② A = 1, B = 0 => Y = A+B =1③ A = 0, B = 1 => Y = A+B =1④ A = 1, B = 1 => Y = A+B =0异或和加法的对比

0x02 或非门+与门

上面的规律完美吗?完美, 假如只考虑1位的话如果世界只有1位, 就太枯燥了吧再考虑上面④的算式, 如果必须考虑, 就可以改为A = 1, B = 1 => Y = A+B =0 ( 进1位, 英文叫Carry)神奇的现象出现了!!![微笑] 不考虑进位的加法就是异或(XOR)​​[呲牙] 包含进位的加法, 就是在XOR上再加一个与运算(AND)如果不懂异或门, 就想象成一个生活规律, 异性相吸, 同性相斥, 男女搭配 => 干活不累如果你不懂与门, 就想象成一个数学知识, 正数乘以正数,才能得到正数, 其余都得不出正数下图中的C是新加列, 就是与运算AND的结果, 加上这一列, 我们的加法表完美了![握手]带进位的加法表

0x03 电路就是一个XOR+AND

这么简单的表,但是电脑也不认得, 到底怎么计算?无数的牛人终于想出了用电路模拟加法的办法XOR+AND = 加法器

0x04 最后的思考

计算机的世界就好比无数个微观空间, 一个空间是一位(1 bit), 像一朵黑白两色的花朵,又像是阴阳两极构成的太极图, 两个只有白昼和黑夜的平行世界...两个平行世界, 相互碰撞相加, 结果就是将不同元素(1, 0 )融合, 演化出延续的实体(1), 相同的元素抵消, 化为虚无(0)如果出现了本级世界容不下的大牛(1 + 1 产生了进位!!! ), 就干脆让他白日飞升把, 推送到上一级微观空间, 我们的世界就清净了该上一级世界再碰撞吧