C语言编程之深刻理解计算机中的进制01
首先我们应该明确一个目标,我们为什么要学习进制?
小编在上一篇文章当中介绍了计算机硬件的基本组成,我们知道计算机是只能识别二进制. 如果我们以后想真正的理解计算机,了解计算机到底是怎么样运行的,这就需要我们深刻的理解好进制,为我们以后的学习打下坚实的基础!
大家在学习进制的时候可能会遇到一些障碍,因为我们无论是在上学或者工作都是使用十进制,我们使用十进制也都是通过那种机械性的记忆!可能并没有真正的思考过为什么10后面的那个数字是11. 还有就是我们接触的编程书籍或许也是先变成十进制,然后再变成你想要的进制吧。
那么我们接下来看看进制的定义。进制也就是进位制,是人们规定的一种进位方法。 对于任何一种进制---X进制,就表示某一位置上的数运算时是逢X进一位。 十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一,以此类推,x进制就是逢x进位(百度百科)。
那我们到底如何来学习进制?最好的办法就是先学会书写进制。先用十进制来写100个数字,0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15...,我想这个对大家实在是太熟悉了!那接下来大家不妨用三进制来写100个数试一下!哈哈,我猜你会不知道怎么下笔...
最后举个例子,到底十进制为什么要这样写。我们要知道在数字前面加0是不会改变数值大小的。我们来看00 01 02 03 04 05 06 07 08 09,9以后在像后面查一个数是0(0123456789嘛,9以后又从0开始了),所以个位变成了0。我们说十进制是逢十进一,这个时候是有进位的,所以十位向后面查一个数就变成了1,也就是10了。同理可推,后面的也是这样一个一个的查出来。
我还是在给大家写几组三进制的吧。
00 01 02
10 11 12(拿02来说,2向后查一位是0,这个时候要进1,所以前面的0向后查一位变成1,即10!后面也是这样的进行查数)
20 21 022
100 101 102
110 111 112
...
进制的本质就是一个一个的进行查数,而每一种进制都是完美的,它们都是可以进行复杂的运算。建议大家自己写100个数字,分别用二进制,三进制,四进制,七进制,十六进制都写一下,我想这样写完你会对进制有一种新的理解!
由于本人文学功底有限,可能叙述的不是很清楚,但我希望能帮助到一些人!如果哪里说的不对,直接私信告诉我哦,大家一起交流,一起进步,一起来嗨皮吧。