二进制、八进制、十进制以及十六进制间的转换

数制间的转换

一、 十进制转换为非十进制

1、十进制整数转换为非十进制整数

采用“除基取余”法,将十进制整数除次除以需转换为的进制的基数,直到商为0,自下而上取余即可。

1)十进制整数转换为二进制整数

例:将十进制整数55转换为二进制整数
55除以2-- 商为27--余数为1
27除以2-- 商为13--余数为1
13除以2-- 商为6 --余数为1
6 除以2-- 商为3 --余数为0
3 除以2-- 商为1 --余数为1
1 除以2-- 商为0 --余数为1
自下而上取余数得110111,十进制数55对应的二进制数为 110111

2)十进制整数转换为八进制整数

例:将十进制整数55转换为八进制整数
55除以8-- 商为6--余数为7
6 除以8-- 商为0--余数为6
自下而上取余数得67,十进制数55对应的八进制数为 67

3)十进制整数转换为八进制整数

例:将十进制整数55转换为八进制整数
55除以16-- 商为3--余数为7
3 除以16-- 商为0--余数为3
自下而上取余数得37,十进制数55对应的十六进制数为 37

2、十进制小数转换为非十进制小数

采用“乘基取整法”,即将十进制小数逐次乘以需转换为的进制的基数,直到小数部分的值为0,自上而下取整数排列即可。
将十进制小数0.32转换为二进制小数。
0.32 * 2 = 0.64 整数部分为 0
0.64 * 2 = 1.28 整数部分为 1
0.28 * 2 = 0.56 整数部分为 0
0.56 * 2 = 1.12 整数部分为 1
.....
十进制小数0.32对应的二进制小数为0.0101......
由此见,十进制小数并不能够用有限位的其他进制精确表示,一般要求到一定位数即可。

  • 一个十进制数既有整数部分,又有小数部分,应将整数部分和小数部分分别进行进制转换,然后将两者相加。

二、 非十进制转换为十进制

采用“位权法”,即把各非十进制数按权展开,然后求和得到结果。

1)将二进制数10110转换为十进制数

0 × 2^0 +1 × 2^1+1 × 2^2+0 × 2^3+1 × 2^4=22
二进制数10110对应的十进制数为22

2)将八进制数1207转换为十进制数

7 × 8^0 +0 × 8^1+2 × 8^2+1 × 8^3=647
八进制数1207对应的十进制数为647

3)将十六进制数1B2E转换为十进制数

E×16^0+2 × 16^1+ B × 16^2+1×16^3=6958
十六进制数1B2E对应的十进制数为6958

三、 二进制与其他进制间的转换

1)二进制与八进制间的转换

3位二进制表示1位八进制数,若将二进制转换为八进制,以小数点为界,将整数部分自右向左并将小数部分自左向右按3位一组划分,不足3位用0补足,然后将各3位二进制转换为对应的1位八进制数即可。
例:将二进制10111001010.1011011转换为八进制数
( 010 111 001 010.101 101 100 )
八进制: ( 2 7 1 2 . 5 5 4 )

2)二进制与十六进制间的转换

4位二进制表示1位十六进制,若将二进制转换为十六进制,以小数点为界,将整数部分自右向左并将小数部分自左向右按4位一组划分,不足4位用0补足,然后将各4位二进制转换为对应的1位十六进制数即可。
( 0101 1100 1010.1011 0110 0 )
十六进制:( 5 C A . B 6 )

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值