进制之间的转换

进制转换

B表示二进制(0,1)

O/Q表示八进制(0~7)

D表示十进制(0~9)

H表示十六进制(A~F:10~15)

(1)带有小数点的数转换成二进制:

首先分成两部分,整数部分和小数部分

1.整数部分:

        除2取余法:

        将得到的余数逆向排列来得到整数部分的二进制

     (要一直除到商为0结束,取余运算中,1除以2是商0余1)

2.小数部分:

        乘2取整法:

        1.小数部分*2后得到的结果整数部分保留为小数点后的下一位

        2.然后将新的小数部分再*2然后重复操作直到全部取整后停止

Eg:12.6875

整数部分:逆向排序得到1100

小数部分:0.6875*2=1.375 此时的整数部分为1,则1为小数点后的下一位(1100.1?)

然后将小数部分再次*2 -> 0.375*2=0.75 此时的整数部分为0,则1100.10?

继续操作  0.75*2=1.50 则1100.101?

                 0.50*2=1   则1100.1011

所以我们可以得到12.6875转换成二进制后为1100.1011

(2)一些进制转换

十进制与其他进制的转换

1.十进制的数用n进制的n来做该十进制数的取余运算最后逆向排序即可

注意如果是十六进制需要将逆向排列后大于9的数字用A~F中相对应的字母替换)

        Eg:56D(十进制的56)转换成二进制那就是56做2的取余运算

        计算得到56D转换成二进制为111000

2.同样的,如果要其他进制(n进制,n = 2,8,16...)转换成十进制

  则为第 m位数字*n^(m-1)之和(m为对应的位数,个位数为1,十位数为2...)

        Eg:27O(八进制的27)转换成十进制

        2*8^1+7*8^0=23

二进制、八进制、十六进制之间的转换

  1. 二进制转换成八进制、十六进制

从二进制数的小数点开始,分别向前向后每三位二进制转换为一位八进制,不够补0

(2*2*2=8)

从二进制数的小数点开始,分别向前向后每四位二进制转换为一位十六进制,不够补0(2*2*2*2=16)

  1. 八进制、十六进制转换成二进制

八进制转换二进制:

        1.将八进制数的每一位转换为对应的三位二进制数

        2.将得到的二进制数拼接在一起,即可得到最终转换出来的二进制数

十六进制将每一位转换为对应的四位二进制数然后拼接即可

3.八进制和十六进制的转换

        通过二进制来实现八进制和十六进制之间的转换

        八进制<->二进制<->十六进制(更加容易算)

(该内容属于计算机基础,文章标签只是为了能够发布)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值