“进制转换”公式大集合

咱们都知道十进制是“逢10进1 ”,同理,N进制就是 “逢N进1”。进制其实就这么简单。它的麻烦之处在于各种进制之间的转换。

一、十进制整数转N进制

1.十进制转二进制

除2取余法:连续除以2,直到商为0,逆序排列余数。

例如十进制数57转为二进制数:

序号

被除数

余数

备注

1

57

28

1

57除以2得28余1

2

28

14

0

28除以2得14余0

3

14

7

0

14除以2得7余0

4

7

3

1

7除以2得3余1

5

3

1

1

3除以2得1余1

6

1

2

1

1除以2得0余1(商为0,结束)

逆序排列余数(从下往上)得到二进制数:111001B。

注意除2取余每次都是用上次的商作为被除数,即:取商除2取余。

2.十进制转二进制

十进制转N进制与转二进制算法如出一辙,即除n取余法。

比如把十进制数107转换成八进制:

107除以8等于13,余数是3;

13除以8等于1,余数是5;

1除以8等于0,余数是1。

把这些余数倒序排列,就是153,这就是十进制数107的八进制表示。

二、N进制整数转十进制数

1.二进制转十进制

按位权展开:各位数字乘以位权的和。

这是因为现行的计数方法都是采用“位值法(Positional Value Algorithm)”,它的特点是各位数字所表示值的大小不仅与该数字本身的大小有关,还与该数字所在的位置有关。位置所代表的权重称为位权,简称权。

看似很高大上,但其实这种表示方法我们非常熟悉,比如:9527=9*1000+5*100+2*10+7。

上面算式中的1000、100、10、1就是位权,因此我们可以得到一个公式:数=∑数字*位权。

1000、100、10、1分别对应10^3、10^2、10^1、10^0,这下你看出门道没?底数代表进制,指数代表位置(从个位起向左依次为0、1、2、……)。

那么,你自然能联想到,二进制位权的底数就应该是2。

如二进制数111001.000B数字与位权的对应关系:

按位权展开求和即可得到对应的十进制数:

其实,本质上来说,位值法的位权表示的是倍数关系:每一位都是后一位的N倍。N就是指N进制,十进制就表示每一位是后一位的10倍,二进制就表示每一位是后一位的2倍。这其实就是位权展开法的原理。

2.N进制转十进制

其他进制数转十进制数同理,八进制数的位权是以8为底的幂,十六进制数的位权是以16为底的幂。位权的底数部分被称为“基数”,二进制的基数是2,十进制的基数是10,八进进制的基数是8,十六进制的基数是16。

比如8进制数字153,按位权展开求和为:

三、进制快捷转换

因2的3次方是8,所以二进制转为八进制时,可3个一组进行转换,每组内位权的指数编号重新从零开始计算。如111001B转为八进制数:

同理,由于2的4次方是16,二进制转十六进制时,可4个一组进行转换(优先满足右侧分组,因为最高位可以补零)​,如111001B转为十六进制数:

四、十进制小数转二进制数

与整数“除2取余法”的门道儿正相反,采用“乘2取整法”。

乘2取整法:用2乘十进制小数,将积的整数部分取出,再用2乘余下的小数部分,如此循环,将每步取出的整数部分顺序排列,即为小数的二进制。

例如,十进制数32.12转为二进制数:

整数部分32用除2取余得到二进制数为100000。

小数部分为0.12,用乘2取整法:

序号

乘2

取整

备注

1

0.12×2=0.24

0

2

0.24×2=0.48

0

3

0.48×2=0.96

0

4

0.96×2=1.92

1

取整后,后续运算因数变为1.92-1=0.92

5

0.92×2=1.84

1

取整后,后续运算因数变为1.84-1=0.84

6

0.84×2=1.68

1

取整后,后续运算因数变为1.68-1=0.68

7

注意乘2取整每次都是用上次积的小数部分作为乘数,即:取小乘2取整。

与整数不同的是,乘2取整可能会无限运算下去,需按题目精度要求截取足够位数。​

顺序排列(从上到下)取出整数,得到小数部分的二进制数为.000111。

故最终求得二进制小数:100000.000111。

总结:整数部分,除2取余、逆序排列;小数部分,乘2取整、顺序排列。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

金创想

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值