主页 > 游戏开发  > 

计算机基础:二进制基础03,二进制数的位基和位权

计算机基础:二进制基础03,二进制数的位基和位权
专栏导航

本节文章分别属于《Win32 学习笔记》和《MFC 学习笔记》两个专栏,故划分为两个专栏导航。读者可以自行选择前往哪个专栏。

(一)WIn32 专栏导航

上一篇:计算机基础:二进制基础02,用二进制来计数

回到目录

下一篇:无

(二)MFC 专栏导航

 上一篇:计算机基础:二进制基础02,用二进制来计数

回到目录

下一篇:无

本节前言

在上一节,我讲了二进制数的计数方法。

本节呢,我们来讲解二进制的位基和位权。

一.    二进制数的位基

一个数,它是多少进制的,它的位基就是多少。十进制数的位基是 10,二进制数的位基是 2。同理,八进制数的位基是 8,十六进制数的位基是 16 。

表示十进制数的基本的符号是0,1,2,3,……7,8,9,一共是10个符号。

表示二进制数的基本符号为0,1,一共是2个符号。

某一个进制的位基是多少,则构成这一进制数的基本符号就有多少个。

二.    十进制数的数位与位权

我们来看一个十进制数,720163。我们把这个数拆解开来。

图1

在图1里面,我挨个位地,排列了 720163 这个数,并且呢,我们将它的每个数位都给标注了出来。

现在呢,我们需要用新的办法来标注这个数的不同的位。

720163,这个数的最右边的位是个位,个位的1,代表的,是1。我们可以个位记作 。 正好等于 1 。

720163,这个数从右往左数,第2位是十位。十位上的1,代表的是10,我们可以将十位记作 。 正好等于10 。

720163,这个数从右往左数,第3位是百位。百位上的1,代表的是100,我们可以将百位记作 。 正好等于100 。

720163,这个数从右往左数,第4位是千位。千位上的1,代表的是1000,我们可以将千位记作 。 正好等于1000 。

720163,这个数从右往左数,第5位是万位。万位上的1,代表的是10000,我们可以将其记作 。 正好等于10000 。

720163,这个数从右往左数,第6位是十万位。十万位上的1,代表的是100000。我们可以将十万位记作 。 正好等于100000 。

我们重新地标注一下这个数字。结果如下

720163

这样一来,原来的个位,我们现在用  来标注。原来的十位,我们现在用  来标注。原来的百位,我们用  来标注。原来的千位,我们用  来标注。原来的万位,我们用  来标注。原来的十万位,我们用  来标注。

新的标注方法里面,都是以10为底,不同的是指数。最低位的指数是0。再往左,指数依次为1,2,3,4,5。

现在,我们再来添加点东西,重新标注 720163 这个数。

位权位名543210数值720163

我们将 ,, 等等的东西,叫做位权。权在文言文里面,它是秤砣的意思,它可以用来称量物体的轻重。秤砣是用来衡量分量的东西。位权就是表示,某一数位的 1,代表着多大的数,代表的分量是多少。

我们将位权一行中,指数的部分提取出来,让它作为数位的名字。这样一来,原来的个位,现在就是位 0 。原来的百位,现在成了位 2 。原来的千位,现在成了位 3,等等。

我们看到,在这里,我们标记数位的方法,它是说,最低位,它的位名是 0,再往左,依次是1,2,3,4,5 。

位名和位权是一一对应的。以十进制数为例,如果某一位的位名是 7,则此位的位权为 。我们也可以将这个事情表述为,十进制数的位 7 的位权为 。

一个十进制数,它的位基为 10。

一个十进制数,无论它的位名是多少,它的某一位的位权,均为 10 的 [位名] 次幂。

十进制的位 0,它的位基为 10,位名为 0,所以,它的位权为  。

十进制的位 1,它的位基为 10,位名为 1,所以,它的位权为  。

十进制的位 2,它的位基为 10,位名为 2,所以,它的位权为  。

十进制的位 3,它的位基为 10,位名为 3,所以,它的位权为  。

十进制的位 4,它的位基为 10,位名为 4,所以,它的位权为  。

十进制的位 5,它的位基为 10,位名为 5,所以,它的位权为  。

一个数,不论它是十进制数,还是八进制,二进制,十六进制数,无论它的位基和位名是多少,它的某一位的位权,均为 [位基] 的 [位名] 次幂。

三.    二进制的数位与位权

我们在上一分节的讲解,主要是为了引出二进制的数位与位权的讲解。

在上面,我们提到了如下所述的结论。

一个数,不论它是十进制数,还是八进制,二进制,十六进制数,无论它的位基和位名是多少,它的某一位的位权,均为 [位基] 的 [位名] 次幂。

而一个数,我们在命名它的位名的时候,都将类似于十进制的个位的那个位,命名为【位 0】 ,再往左,依次是【位 1】,【位 2】,【位3】,【位 4】,等等。

这样一来,我们试着对二进制数 101101 进行一下拆解。

位权位名543210数101101

上面的东西,大家应该能理解了吧?

四.    将一个二进制数转化为十进制数

我们先不去看,如何将二进制数转换为十进制数。我们先来看一看,如何用一种新的表示法,来说明一个十进制数的值。

720163,这个数,我们在第二分节中,就是用它来举例的。在这里,我们还是用它来举例。

720163,我们再次将它的数位分节表格列在下面。

位权位名543210数值720163

720163 = 7 × 100000 + 2 × 10000 + 0 × 1000 +  1 × 100 + 6 × 10 + 3 × 1

            = 7 ×  + 2 ×  + 0 ×  + 1 ×  + 6 ×  + 3 × 

我们可以从上面的式子的分解,总结出规律。对于某一个十进制数的值的大小,等同于,先将各个位上的数乘以它的位权,再将不同的数位的 [数 × 位权] 的乘积加起来的和。

我们可以将十进制数的求值,推广任意数制的数字的求值。

对于任意数制的某一个数,它的大小等同于,先将各个位上的数乘以它的位权,再将不同的数位的 [数 × 位权] 的乘积加起来的和。

因此,我们可以求一下二进制数 101101 的等价十进制数。我们还是先将它的拆解表格给列出来。

位权位名543210数101101

0B 101101 = 1 ×  + 0 ×   + 1 ×  + 1 ×  + 0 ×  + 1 × 

                  = 1 × 32 + 0 ×  16 + 1 × 8 + 1 × 4 + 0 × 2 + 1 × 1

                  = 45

到这里呢,我想,对于一个二进制数的求值,也就是把它转换为对应的十进制数的方法,我差不多就算是讲完了。

不过呢,在上面,我只讲了一个例子。例子的数目太少了。

我再给出来两个例子吧。再给出两个例子,其实例题数也还是少。不过呢,我相信,再给出两个例子,应该是足以令你理解,如何将二进制转换为十进制的解题步骤了。

五.    两个例题

(一)例题1    求出 0B 101011 对应的十进制数

首先呢,我们还是用表格来分解这个数

位权位名543210数101011

0B 101101 = 1 ×  + 0 ×   + 1 ×  + 0 ×  + 1 ×  + 1 × 

                  = 1 × 32 + 0 ×  16 + 1 × 8 + 0 × 4 + 1 × 2 + 1 × 1

                  = 43

(二)例题二    求出 0B 11011 对应的十进制数

首先呢,我们还是用表格来分解这个数

位权位名43210数11011

0B 11011 = 1 ×   + 1 ×  + 0 ×  + 1 ×  + 1 × 

                = 1 ×  16 + 1 × 8 + 0 × 4 + 1 × 2 + 1 × 1

                = 27

到了这里,我想,本节的内容,也就可以了。

结束语

本节的内容,很多人大概是学习过的。根据你的情况来学习吧。学过就可以不看,或者快点看。没有学习过,那就认真一些地来看吧。

其实,本专栏所讲的二进制,位运算的知识,可能,很多人不需要专门来学习这一块的知识。然而,我不能假定所有人都学过。如果你学的是Java,python,那么,我不知道相关的教材里面,是否有讲解二进制与位运算的知识。

所以,为了统一后续的学习步调,让大家达到统一的基础,我还是选择去讲解。

希望大家能够将本节的知识给学好。

专栏导航

本节文章分别属于《Win32 学习笔记》和《MFC 学习笔记》两个专栏,故划分为两个专栏导航。读者可以自行选择前往哪个专栏。

(一)WIn32 专栏导航

上一篇:计算机基础:二进制基础02,用二进制来计数

回到目录

下一篇:无

(二)MFC 专栏导航

 上一篇:计算机基础:二进制基础02,用二进制来计数

回到目录

下一篇:无

标签:

计算机基础:二进制基础03,二进制数的位基和位权由讯客互联游戏开发栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“计算机基础:二进制基础03,二进制数的位基和位权