十进制转为二进制

十进制转为二进制

一.整数
1)权和法

将所要操作的整数分解写为2的n次方的和,其中最低位是2^0=1

例:9 = 8 + 1 or 9 = 2^3 + 2^0

​ 2^3 2^2 2^1 2^0

​ 1 0 0 1

​ 所以9的二进制数是1001

2)除2取余法(重复除2法)

将要操作的十进制数重复除2,可得余数0或1;将最先得到的余数作为LSB,最后的做MSB

例:

12(原数)Remainder(余数)
12/2 = 60(LSB)
6/2 = 30
3/2 = 11
1/2 = 01(MSB)

​ 所以12的二进制数是1100

二.小数
1)权和法

具体操作和整数一样,只是二进制的各位所占的权重由-1到-n

例:0.625 = 0.5 + 0.125 = 2^(-1) + 2^(-3) = 0.101

2)乘2取整法(重复乘2法)

将要操作的十进制数重复乘2,可得进位0或1;将最先得到的进位作为MSB,最后的做LSB

例:

0.3125(原数)Carry
0.3125*2 = 0.6250(MSB)
0.625*2 = 1.251
1.25*2 = 0.500
0.50*2 = 1.001(LSB)

​ 所以0.3125的二进制数是0.0101

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值