进制如何转换?原理是什么?(此外下面还有百度楼主解释)

一、名词介绍
进制:也叫进位计数制,是人为定义的带进位的计数方法,故亦称进位记数法/位值计数法,可以用有限的数字符号代表所有的数值。可使用数字符号的数目称为基数(en:radix)或底数,基数为n,即可称n进位制,简称n进制。(这一段,其实小编也是百度的。大家了解下就行。)

二、进制组成
在编写代码的时候,我们最常见的就是十进制、二进制、八进制、十六进制 (当然还有很多四进制、七进制、六十进制等等)。今天我们讲的也是这四个进制之间的转换。

好了,首先了解下这四个进制的组成吧

二进制:由两个阿拉伯数字:0、1 组成


八进制:由八个阿拉伯数字:0、1、2、3、4、5、6、7 组成。


十进制:由十个阿拉伯数字:0到9组成;


十六进制:我们只有0~9这十个数字,所以我们用A,B,C,D,E,F这五个字母来分别表示10,11,12,13,14,15。字母不区分大小写。

小结:进制特点:x进制就是逢x进位,例如十进制:逢十进一、二进制:逢二进一等。

三、进制转换
在了解转换之前,小编觉得有必要需要了解位权的概念,不然后面的421和8421码不清楚是什么。

位权:是指数制中每一固定位置对应的单位值。数位说白了,就是数字所在的位置,位权因数位所在的位置不同,产生的位权。

对于N进制的数,我们可以从0开始,对数字的各个数位进行编号,即个位起往左依次为编号0,1,2,……;对称的,从小数点后的数位则是-1,-2,……,把这些编号当作指数,把N当作基数,则组成了每位数上的位权。

举例:

我们知道,十进制第2位的位权为10,第3位的位权为100;而二进制第2位的位权为2,第3位的位权为4,对于 N进制数,整数部分第 i位的位权为N^(i-1),而小数部分第j位的位权为N^-j。

一个十进制数110,其中百位上的1表示1个10^2,既100,十位的1表示1个10^1,即10,个位的0表示0个10^0,即0。

一个二进制数110,其中高位的1表示1个2^2,即4,低位的1表示1个2^1,即2,最低位的0表示0个2^0,即0。

一个十六进制数110,其中高位的1表示1个16^2,即256,低位的1表示1个16^1,即16,最低位的0表示0个16^0,即0。

1、二进制数、八进制、十六进制数转换为十进制数(按权求和)
二进制数、八进制、十六进制数转换为十进制数的规律是相同的。把二进制数(八进制或十六进制数)按位权形式展开多项式和的形式,求其最后的和,就是其对应的十进制数——简称“按权求和”.

例如:把 二进制数1001.01转换为十进制数。

解:1001.01

=8*1+4*0+2*0+1*1+0*(1/2)+1*(1/4)

=8+0+0+1+0+0.25

=9.25

注:二分之一就是2的-1次方,以此例推。

把十六进制数38A.11转换为十进制数

解:(38A.11)16

=3×16的2次方+8×16的1次方+10×16的0次方+1×16的-1次方+1×16的-2次方

=768+128+10+0.0625+0.0039

=906.0664

 
2、十进制转换为二进制数、八进制、十六进制数(除2/8/16取余法)
总体来说,需要换算成哪个进制,就除N,一直到商为0,则把余数倒排列即可。

例如,分别展示十进制转换为十进制、二进制、八进制、16进制。(借图)。

3、二进制数与八进制、十六进制数之间的转换
例:二进制的“10110111011”

1、二转八
换八进制时,从右到左,三位一组,不够补0,即成了:
010 110 111 011
然后每组中的3个数位权分别对应4、2、1的状态

运算为:
010 = 2
110 = 4+2 = 6
111 = 4+2+1 = 7
011 = 2+1 = 3
结果为:2673

2、二转十六

由于4位二进制数恰好有16个组合状态,即1位十六进制数与4位二进制数是一一对应的.所以,十六进制数与二进制数的转换是十分简单的.

换十六进制时,从右到左,四位一组,不够补0,即成了:

例:0101 1011 1011

然后每组中的四个数位权分别对应8、4、2、1的状态
运算为:
0101 = 4+1 = 5
1011 = 8+2+1 = 11(由于10为A,所以11即B)
1011 = 8+2+1 = 11(由于10为A,所以11即B)
结果为:5BB

小结:这就是421码和8421码,大家也可以自己去试试16进制、八进制转二进制怎么转,毕竟动手才能记得更好。

总结:

其实在十进制转任意进制的时候,我们还会遇到小数的问题,例如相应的方法:整数转换,小数转换,整数退位法等 例如:十进制数转二进制数还有除2取余法和乘2取整法的说法,我没有给大家一一举例,因为小编感觉已经写的够多了,写的太重并不有利于理解,毕竟一口吃不成胖子,还是希望大家熟练了基本,然后去研究深层次的。

 
————————————————
版权声明:本文为CSDN博主「蝶开三月」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/panjiapengfly/article/details/102621839

进制说到底就是位值原理,即:同一个数字,放在不同的数位上,代表不同大小的数。
例如:十进制中,百位上的1表示100,十位上的1表示10。

二进制转换为十进制。

方法:“按权展开求和”,该方法的具体步骤是先将二进制的数写成加权系数展开式,而后根据十进制的加法规则进行求和。

【例】:

规律:个位上的数字的次数是0,十位上的数字的次数是1,......,依次递增,而十分位的数字的次数是-1,百分位上数字的次数是-2,......,依次递减。

十进制转换为二进制。

一个十进制数转换为二进制数要分整数部分和小数部分分别转换,最后再组合到一起 。

整数部分采用 "除2取余,逆序排列"法。具体做法是:用2整除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为小于1时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来 。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值