进制的问题,你如果了解其所以然,就明白了。这里用8进制来讲解,其他进制道理一样的。
10进制是日常生活中最常用常见的计数法,据可靠来源分析,是因为人类有10个手指头。
有些人说时间和月份是12进制,其实时间和月份还是10进制。只不过最大就到12而已。但如果把10,11,12这3个数,看成是全新的符号,而不是0、1、2的组合,那么时间和月份就是13进制,也不是12进制,为啥? 请继续阅读)。
在记数时,比如计算木棍的数量时,记到11的时候,手指就不够用了,怎么办?(脚趾?太累了还要拖鞋)于是聪明的人类就想了一个聪明的办法:把已经用手数好的(10根)木棍,捆在一起,作为一个单位,再给单位起个名,如:捆,就把问题零化整,陌生化熟悉了。因为每数到10根,就会捆起来,新形成一个新的1(捆),所以不需要10这个专门的符号,而只需要一个更大的单位就可以了。捆多了,又数不过来了,怎么办,人类善于总结经验,于是便发明了一个更更大的单位:堆,每10捆一堆。堆多了,再发明垛…… 可是“根捆堆垛”不太适合描述鸡鸭等其他事物,更主要的是,无法表达抽象的概念,所以就另发明了:“个十百千……”来对应“根捆堆垛……”啊~现在你已经深刻的理解10位数了(什么?不说你也理解的很深刻?)。
如果人类只有8个手指头,情况会怎样?恐怕就会8根一捆了,那也就没有必要发明 8 和 9 这两个数字符号了。因为第8根总是要结合前7根变成一个新的1(捆),所以8这个符号实际是用不着的,而只有“1捆”这个概念。于是,个位、十位、百位、千位,这些名词所代表的数量,也不是再10进制里的10,100,1000,并且根据可靠消息来源,8进制国家的人们,或许更本就不会有“个十百千……”,而是直接用“根捆堆垛……”。根、捆、堆、垛,所代表的数量便是8,64,512和4096。
那么,10个手指的人,怎么和8个手指的人交流呢?
为了和10进制计数区分开,我们给8进制的人,发明一种新的数字表达方法,就是在8进制的数前加上o(欧)这个符号。
因此10根木棍,就是1捆 + 2根,用上面提到的方法,写作:
o12根(1捆×8根 + 2根 = 8 + 2 = 10根)
o50 说明有:5捆×8根+ 0根 = 40根
o70 说明有:7捆 ×8根 = 56根。。(7× 8的1次方
可以看出,再来一捆的话,o70根就有8捆了,所以又要用更高位(堆)来表示,就是o100。
o100 1堆 = 8捆 = 64根。
o200 说明有:2堆,2堆 ×8捆×8根 = 128根。(2 × 8的2次方
o3000 有3垛:3垛 ×8堆×8捆×8根 = 1536根。(2 × 8的3次方
以此类推,不难总结出来,8进制数第n位所代表的数量,就是那一位的数量乘上8的n次方(个位是第0位),而整个8进制数的数量,又是所有这些位的数量的总和。
o3210 这个数,第0位是0,第1位是1,第2位是2…… 是10进制的多少呢?
是 3 × 8^3 + 2 ×8^2 + 1 × 8^1 + 0 × 8^0 = 1672
o4567 = 4 × 8^3 + 5 ×8^2 + 6 × 8^1 + 7 × 8^0 = 2423
这样,你就知道8进制国家的人,如何卖东西给10进制国家的人了。那么10进制转8进制呢。你只须换个思维角度,计算出“根捆堆垛”分别相对应的数量就可以了。比如:
10根有1捆零2根,那就是 o_1捆_2根 -> o12
16根呢?正好2捆: o_2捆_0根 -> o20
100呢?100有12捆零4根 -> o_12捆_4根,哦!12超过8,手指不够用了,所以还得继续分组。
12捆 = 1堆4捆,带入o_12捆_4根 -> o_1堆4捆_4根 -> o144。
这样,也可以总结出来一个规律,不停的将中间超过8的数,向高位扩充,就是10进制转8进制的方法。用数学来计算,就是不停的除8取余就可以了,如1234根(个):
1234 / 8 = 154 余 2 (1234根 是 154捆 余 2根)
┌────────┘
154 / 8 = 19 余 2 (154 捆 是 19堆 余 2捆)
┌────────┘
19 / 8 = 2 余 3 (19 堆 是 2垛 余 3堆)
┌───────┘
2 / 8 = 0 余 2 (2 垛,小于手指数,余 2垛)
这个数就是:2垛3堆2捆2根:
1234 = o2322
恭喜,你已经统治了10进制国和8进制国的公民,实现了双边贸易!3边也不远了~哦耶。