当前位置:首页 > 时尚 >

最简洁明了零基础看懂代码(自学程序员怎么入门)

来源:原点资讯(www.yd166.com)时间:2022-12-28 16:23:44作者:YD166手机阅读>>

进行 A B 计算,例如 3 2 的和,3 的二进制是 11 (A1A0),2 的二进制是 10 (B1B0),

先算 A0 B0,输出 C1 = 0,S0 = 1,再计算 A1 B1 C1,输出 S1 = 0,C2 = 1,最终的结果由C2、S1、S0 拼成 1012 = 5。

要几位加法就用几个加法器串联,如四位(15 15):

最简洁明了零基础看懂代码,自学程序员怎么入门(13)

现在我们就有了一个 4 位加法器,已经达到了小学 2 年级的水平,是不是特别给力?

五、减法器

减法器其实是本质还是通过加法器实现的,比如 5 - 3,其实就是 5 (-3)。

十进制

原码

反码

补码

5

0000 0101

0000 0101

0000 0101

-3

1000 0011

1111 1100

1111 1101

先将十进制转为补码,再将补码输入全加器,这样就做到了减法计算。

六、乘法器

做完加法器我们再做个乘法器吧,当然乘任意10进制数是有点麻烦的,我们先做个乘2的吧。

乘2就很简单了,对于一个2进制数数我们在后面加个 0 就算是乘 2 了,比如

5 = 101(2) 10 = 1010(2)

所以我们只要把输入都往前移动一位,再在最低位上补个零就算是乘2了。

那乘 3 呢?简单,先位移一次(乘 2)再加一次。乘 5 呢?先位移两次(乘 4)再加一次。

所以一般简单的 CPU 是没有乘法的,而乘法则是通过位移和加算的组合来通过软件来实现的。

现在假设我们有加法器了,也有一个位移1位的模块了。把这两个模块串联起来你就能算 (A B ) * 2 了!激动人心,已经差不多到了小学 3 年级水平。

那我要是想算 A * 2 B 呢?

简单,把加法器模块和位移模块的接线改一下就行了,改成 A 先过位移模块,再进加法器就可以了。

改个程序还得重新接线?

所以你以为呢?编程就是把线来回插啊。

最简洁明了零基础看懂代码,自学程序员怎么入门(14)

早期的计算机就是这样编程的,几分钟就算完了但插线好几天。而且插线是个细致且需要耐心的工作,所以那个时候的程序员都是清一色的漂亮女孩子,穿制服的那种。

七、选择器

虽然和美女作伴是个快乐的事,但插线也是个累死人的工作。所以我们需要改进一下,让 CPU 可以根据指令来相加或者乘2。

最简洁明了零基础看懂代码,自学程序员怎么入门(15)

这个就简单了,sel 输入 0 则输出 i0 的数据,i0 是什么就输出什么。同理 sel 如果输入 1 则输出 i1 的数据。

有这个东西我们就可以给加法器和乘2模块(位移)设计一个激活针脚。

这个激活针脚输入 1 则激活这个模块,输入 0 则不激活。这样我们就可以控制数据是流入加法器还是位移模块了。

八、触发器

现在我们终于可以做 A × B C 了,这就需要先保存 A×B 的结果,在与 C 相加,等等...保存?话说在计算机内部是用什么方式保存数据的呢?

由于保存数据的重要性,电路中使用何种方式可以保存数据。比如使某个器件一直输出高电平,那不就是 1 了吗?一直输入低电平,那不就是 0 了吗?这里再引入一个触发器。

最简洁明了零基础看懂代码,自学程序员怎么入门(16)

栏目热文

怎么才能最简单的看懂代码(怎样快速理解代码)

怎么才能最简单的看懂代码(怎样快速理解代码)

能看懂代码,需要掌握一门编程语言的语法以及代码逻辑,能够看万行代码,需要你对代码的架构和框架有一定的认知。如何阅读代码?...

2022-12-28 16:15:08查看全文 >>

熟记100个字母代码(各种代码大全)

熟记100个字母代码(各种代码大全)

万图思瑞记忆法代码表(2-110)是万图思瑞记忆法的基石,领悟并熟练地使用记忆法代码,将给我们的学习、工作、生活带来意想...

2022-12-28 16:22:53查看全文 >>

灶台抹布如何清洗干净(擦灶台的抹布又脏又油怎么办)

灶台抹布如何清洗干净(擦灶台的抹布又脏又油怎么办)

欢迎来到“花花优选”,每天为您提供专业的养花知识和养花技巧!喜欢的花友点击关注!每个周末的时候都喜欢将家里好好的打扫一下...

2022-12-28 16:47:46查看全文 >>

怎样清洗抹布最干净不用小苏打(怎么洗抹布最干净不用小苏打)

怎样清洗抹布最干净不用小苏打(怎么洗抹布最干净不用小苏打)

导语:抹布用久了又脏又臭,别用热水烫!现在流行这样做,干净又杀菌在我们日常生活中,只要是清洁大的卫生就会用到抹布。但是日...

2022-12-28 16:59:20查看全文 >>

清洗抹布用什么(八种清洗抹布的方法)

清洗抹布用什么(八种清洗抹布的方法)

hi,我是万万,今天给大家分享19种用起来还不错的抹布,淘汰了四五种,没有放出来,信息全在图里,这里总结下不好用的几种类...

2022-12-28 16:44:12查看全文 >>

10个简单有趣代码(最简单的10个代码)

10个简单有趣代码(最简单的10个代码)

这是海外一位 Kotlin GDE 大佬,在 Twitter 上分享的一段代码,我觉得非常的有意思,代码如下所示,我们花...

2022-12-28 16:40:18查看全文 >>

100个特殊符号代码(特殊符号可复制粘贴)

100个特殊符号代码(特殊符号可复制粘贴)

1.₍˄.͡˳̫.˄₎ฅ˒˒2.˃̣̣̥᷄⌓˂̣̣̥᷅3.つ♡⊂4.ଲଇଉକ5.Life u =♡6.∪^∪7.•ᴥ...

2022-12-28 16:35:04查看全文 >>

c语言顺口溜(c语言顺口溜口诀)

c语言顺口溜(c语言顺口溜口诀)

运算优先级口诀C语言中每种同类型的运算符都有内部的运算符优先级,不同类型的运算符之间也有相应的优先级顺序。牢固的记忆整个...

2022-12-28 17:01:24查看全文 >>

g代码顺口溜(简单好玩的编程代码)

g代码顺口溜(简单好玩的编程代码)

大家好,我是你们的好朋友美丽,转眼间忙忙碌碌的一月就过去了,现在迎来了崭新的二月,在这里祝我的粉丝朋友们,二月,瑰丽人生...

2022-12-28 16:52:59查看全文 >>

c语言代码大全和详细解释(c语言必背代码大全加翻译)

c语言代码大全和详细解释(c语言必背代码大全加翻译)

这些都是基本的 C 程序,可以帮助刚踏入 C 编程世界的新手。快来试试吧:1、C 语言编程 – Hello World...

2022-12-28 17:04:20查看全文 >>

文档排行