本文章还是着重,教你如何看懂二进制,如何计算二进制数列实际表达的数字。
在讲二进制之前,感觉还是有必要跟大家讲讲什么是“进制”。
相信大家都知道什么是十进制,十进制贯穿每个人的生活,深入了每个人的潜意识当中。但是二进制就不像十进制那样,会被每个人牢牢记住和使用。因为二进制是用在计算机领域的一种进制。
什么是进制?想必大家都能联想到;有二进制;三进制;四进制;……。只要你想多少进制,就可以是多少进制。但在计算机领域程序员们常用的就只有:二进制;八进制;十六进制这三个进制。 至于这三个进制为什么是常用的。这里做不了介绍哦。十进制我觉得没必要写上去了吧,哈哈。
先拿大家都了解透彻的十进制介绍,在这里我写出一排数字0 1 2 3 4 5 6 7 8 9 10 ……这么一目了然的数字,想必大家都能看懂。
重点来了,那就是所有的进制,都有自己指定的“基数”,不管它是多少进制。都拥有自己指定的基数,什么是“基数”呢?
基数可以是阿拉伯数字0到9,也可以是A~Z二十六个字母,甚至可以是符号+ - x ÷ , 。 =等等任何符号。也可以自创符号用来当作基数(前提是你已经把现有符号用完了)。不过也不会走到你自创符号那个地步。因为越大的进制要用到的基数也就越多,人的大脑是无法记住那么多基数并正常使用的。
(选定基数的时候,人们普遍都是,先选择简单的符号作为基数。)
我们先回到十进制,这里如果问你十进制的基数都是哪些呢?强调一下(我这里本来想问;十进制的基数都是哪些数的,前面提到:基数不一定是数字,对吧)是不是就有人回答:“1 2 3 4 5 6 7 8 9 10”。
其实我刚开始也是这么认为的:不就是1到10吗,这么简单想都不用去想。但这个答案是错误的,正确答案应该是 0 1 2 3 4 5 6 7 8 9 。这十个阿拉伯数,就是十进制的十个基数。再用这十个基数去组成十进制数列,逢十进一。比如9 , 10,99 ,100。
那么就有人问了;10去哪里了? 我这个疑问是站在小白的角度提问的。因为10是由基数0 跟基数1组合出来的数。因此10不是基数,而是一个组合数。为什么刚开始我会把10想成也是基数呢。原因就是十进制实在是太深入了我们的潜意识当中了,才会把10也看成是基数。
看了上面十进制的介绍,想必大家已经闻到了一些二进制的门路了吧。
进制前面写的是几,那么这个进制就有几个基数。逢几进一
n进制,就有n个基数 0…(n-1)。(这个n-1,在使用阿拉伯数字作为基数且是升序的十进制内 成立),逢n进1。
2 进制 有2个基数 0 1 逢2进1
3 进制 有3个基数 0 1 2 逢3进1
以此类推……
8 进制 有8个基数 0 1 2 3 4 5 6 7 逢8进1
10进制 有10个基数 0 1 2 3 4 5 6 7 8 9 逢10进1
16进制 有16个基数 0 1 2 3 4 5 6 7 8 9 A B C D E F 逢16进1
简单说下十六进制,其实我刚开始以为的十六进制是 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16这样子的,学之前的我甚至是0都不想给它。当我试着想用16进制表达17,于是我在16后面继续写着 16 20 21 22... 这是小白那会儿的我这么认为的。后面慢慢学习才知道,9后面的10被A取代表示。 11被B取代表示...这样一直替换到15=F 那么17应该写成11。是不是有点指鹿为马的感觉哈哈。没事我帮你把他捋直了。
怎么捋直呢,那么这里就要讲一个东西,这个东西就是大家都知道的“单位”。
相信大家都看过收据吧,收据上面的是不是写着 万 千 百 十 元(个)
或许有人看了图还不理解 那我再细化一下,我把它们各自代表的自然数列出。如下图
这就是十进制中的单位 那么这张收据也就是适用于十进制的收据。
那我们写收据的时候,是不是别人给了多少钱,我就写多少。比如收到了65432元
是不是就写成下图这样;
别人一看就知道这是6万5千4百3十2元;
再根据下面这张图来,详细了解是怎么计算出来的
是不是就是6X10000+5X1000+4X100+3X10+2X1=65432
把每个单位各自代表的实际数字大小,全部加起来,是不是就得到了实际的数字
看了上面的十进制 收据的实例。
那我是不是可以,设立一张二进制的收据,又或者是十六进制的收据。
可以的,就是把单位修改了就可以,单位怎么改呢?
首先,无论哪个进制都有一个相同的最小单位,那就是“个位”。在根据进制实际包含的基数个数,去求出我们潜意识里的“十位”。
先说明:十进制的“十位”是十(10),“百位”是百(100),“千位”是千(1000)。我前面这句话真是听君一席话,如听一席话啊。注意我打的双引号“”,因为它等会就不是你潜意识里的十位,百位,千位了。如下图,它只是个字面意思
在十进制这里,不难看出一个规律,那就是“百位”=(“十位”的二次方);“千位”=(“十位”的三次方)有规律是不是就要去验证是否成立。这里我就不去证实了,因为事实摆在这里。哈哈简单表达了一下,如下图
说个课外话:《这里似乎还证实了一个数学常识,那就是任何数(0除外)的0次方都等于1 也就是
nº=1 (n≠0)n不能等于0》
为什么这样说呢,因为按到我上面发现的规律,“十位”以上的单位按照这个规律是成立的,如果你放回来放到“个位”到“十位”之间,这个规律就不成立了。“个位”到“十位”如果也想用10的次幂来表达,是不是就要倒序回来啊。那么为了让这个规律绝对成立,那我们就想办法在“个位”也放强行塞入一个10的次幂进去。那么就得到了下图
回到如何设立一张二进制的收据
十进制的“十位”是十(10),“百位”是百(100),“千位”是千(1000)。
那二进制的“十位”就应该是二(2),根据规律去算出后面的单位。“百位”就是“十位”的二次方也就是2²=4;“千位”=2³=8
如下图
这样一来根据图中的单位,是不是随便给一个二进制数列就能计算出它实际代表的自然数是多少了。
那我们设立的二进制收据就如下图
比如1111,将这4个1放入对应的二进制收据里去
是不是等于1x8+1x4+1x2+1x1=15
那么二进制中的1111 ,其实际表达的自然数是 15
我们知道了二进制的两个基数是0 1 那我们试着用二进制来写自然数字吧
自然数=十进制=二进制 这里的=是转换的意思,你也可以模糊的看成是等于的意思
0 =0 =0
1 =1 =1
2 =2 =10
3 =3 =11
4 =4 =100
5 =5 =101
6 =6 =111
7 =7 =1000
8 =8 =1001
9 =9 =1010
10 =10 =1011
写到这,二进制的介绍也就写完了。不知道对想了解二进制的你,是否有帮助。
个人理解,有不对的地方还请包涵
第一写博客,如果作为小白的你,觉得这篇文章,对你了解二进制有帮助,还请点个赞来着。哈哈是不是点赞我也不知道。