数据的表示和运算——各个进制数之间的转换方法(初级版)
作者:互联网
进制——指的是进位计数制是人为定义的带进位的计数方法
我们平时生活中常用的十进制,逢十进一,相信大家都很熟悉
那么对于任何一种进制——r进制(r进制指在运算中逢r进1),他们之间虽然进1的方式是不同的,但是所有进制间都能够进行相互的转化
在介绍进制换算之前呢,为了便于理解,首先我在这里要引入位权的概念
博主在看了百度百科的有关位权概念后,一头雾水,但是简单来说可以理解为,一个数字在不同的位置,代表着不同的权重,个位代表0,十位代表1,等等。在个位跟十位跟百位的含义是不同的。
据说是因为人有十根手指,所以我们比较惯用的是十进制。
讨论一: 那么首先我们就来介绍各个进制转换到十进制的方法:
首先举一些例子,然后通过其中的规律,得到转换的方法
通过例子,不难看出确实是由规律的,我也是根据规律找到方法的,并不是权威,所有大家也可以试着来完善或者重新总结一下
向十进制转变要弄清楚位权的概念,在相对简单的转换中,我们可以依照下面这条规律:
位权:小数点后由-1依次减小,小数点前由0依次增大,
r进制向十进制转换,r进制的个位 × r的0次幂 + r进制的十位 × r的一次幂 + r进制的百位 × r的二次幂 以此类推
讨论二 介绍十进制转换到r进制的方法:
首先呢还是来举一个简单的例子:
把75转化为一个二进制的数:(这是没有小数点的例子)
75 ÷ 2 =37 余 1
37 ÷ 2 =18 余 1
18 ÷ 2 = 9 余 0
9 ÷ 2 = 4 余 1
4 ÷ 2 = 2 余 0
2 ÷ 2 = 1 余 0
1 ÷ 2 = 0 余 1
结果就是 1001011(除基取余法)
简单说就是整数除以r取余,直到商为0为止,然后从最后一个余数读到第一个
把0.3转化为一个二进制数:
0.3 × 2 = 0 + 0.6
0.6 × 2 = 1 + 0.2
0.2 × 2 = 0 + 0.4
0.4 × 2 = 0 + 0.8
0.8 × 2 = 1 + 0.6
结果就是0.01001 (乘基取整法)
简单说就是小数部分乘以r取整,直到商为0为止,然后从最后一个余数读到第一个
以此类推,十进制转换为其他进制也是同样的方法
那么下面我还有介绍一种简便一下的算法,当你熟悉了位权之后你可以,
算了还是举个例子吧
比如75,你如果熟悉二进制,那么75离64也就是2的六次方最近,那么75就可以拆分成64+8+2+1,也就是在下面这张表中,6,3,1,0的位置为1,其他为零,也就是1001011
也可以试试其他数字,省去很多计算哦
讨论三 其他进制间的转换:
(由于这些进制比较特殊,方法了解即可,遇到该类问题,也可以先转为十进制再进行其他转换)
① 二进制转换为八进制
老规矩先上例子:1111000010.01101
**以小数点为界,分为三三一组,**然后读出该数
001 111 000 010 . 011 010
1 ----7----0----2—.---3—2
所以这个数转为八进制数就是1702.32
②二进制转换为十六进制
还是这个数
**以小数点为界,分为四四一组,**然后读出该数
0011 1100 0010 . 0110 1000
—3-----C----2----.—6------8
所以这个数转为八进制数就是3C2.68
③八进制转换为二进制:上述的方法反向操作就可以了,把每一个数用二进制读出来,并分三个位的位置
④十六进制转换为二进制:把每一个数用二进制读出来,并分四个位的位置
讨论四 进制数的表示方式
很多时候看到0,1组合的数就认为是二进制数,带有字母的就认为是十六进制数,但是其实标准的表示方式是在这个数两边加上括号并且加上该进制的下标
例如:
还有一种英文的表示方法,就是在该数后面加上该进制英文的大写首字母,在这里就不一一赘述。
好了,以上就是本次的所有内容了。
喜欢的小伙伴可以留下你宝贵的点赞和收藏,当然有建议或者想看其他说明内容也可以留在评论区(12小时内必回哦)
标签:转换,进制,位权,二进制,75,转换方法,初级,十进制 来源: https://blog.csdn.net/passertian/article/details/114751296