Long Long Ago,人们依靠智慧想出了一套适合人类的计算方法,以用于记录世间万物的数量,有不带进位的计数方法,比如最最古老的结绳计数法
唱票时常用的“正”字计数法以及来自世界各地各种劳动人民的智慧算法~~
这些算法看似简单,现在一岁的小孩纸们估计都会这个,但素!你真的以为这些算法只有介么简单吗?(来自老祖宗学霸们的嘲笑:呵呵,汝何以此肤浅乎O(∩_∩)O~)
老祖宗们遗传下来的古老算法,其实其中蕴含着一个他们年代还没有出现的概念----进制。
所谓的进制咧,根据百度百科里面是酱子定义的——>
而我们老祖宗使用的结绳计数法呀、现在的“正”字数法呀,其实就是利用了一进制和五进制的计算方法。
我还依稀记得在我大一的时候教科书式这样定义进制的:
十进制是由10个符号组成,依次是0、1、2、3、4、5、6、7、8、9,逢十进一。
二进制是由2个符号组成,依次是0、1,逢二进一。
.
.
.
N进制是由N个符号组成,依次是0、1、... 、(N-1),逢N进一。
Tip~~
----By baidu 然鹅!!!
根据定义,进制是由符号组成的!符号!!是符号!!!不是数字!不是数字!!不是数字!!!所以,进制的那些数字其实是一个符号,而且符号并不就是代表数字,例如16进制的符号就是由0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F组成。
辣么!!!
我们以前接触的进制含义其实是一个为了记忆而记忆的一个先入为主的概念而已(因为要应付考试嘛~~)
终于引出了我今天想说的内容了(*^*),既然进制的本质由符号来组成的,那我们在写代码的时候也可以这样子规定进制啦~
正常青年:
逗B青年:
精分青年:
以上三位青年的定义其实都是正确的,进制里并没有明确的规定符号是哪一个,只是为了方便起见,规定大家都会使用的十进制数字,以便计算。在编程世界里,我们可以自己规定进制,用于编程加密等等各种应用(只要你想得到)~~
在编程的世界里,程序猿往往需要具备逆向思维和从不同的角度看待问题的能力,例如在一开始的标题里面写到:5+5=12 正确吗? 在平常人眼里是不正确的,因为违背了我们平常使用的十进制的计数原则,而在编程的世界里确实合情合理的,因为5+5=12,中的“12”是八进制的(
)符号,并不代表十进制的十二,而且它的读法也不是十二,因为“个十百千万”这些单位是应用在十进制里面的,所以它的正确读法应该是“一二”才对。
Last But Not Least
Last But Not Least
Last But Not Least
Last But Not Least
本篇文章的本意,是想提醒下初学编程的同学们在学习之前要有一个思维上的转变(一进编程坑深似海),我们在学习编程不仅能够锻炼我们的思维方式(进了坑就别想出去了),还可以让我们从此看待事物都可以从另外一些角度看待(请三思啊同学们),以前的人们嘲笑牛顿、图灵这些天才的奇怪想法,其实在他们的眼里,我们才是奇怪的(编程道路上的终点是秃顶!),