十进制转二进制原理

1. 十进制整数转二进制

  • 假设十进制整数值为A,对应的二进制数为abcde (每一位的值非0即1)。
    众所周知,二进制数换算为十进制的公式如下:
    A = a * 24 + b * 23 + c * 22 + d * 21 + e * 20

  • 所以咱们只要把a,b,c,d,e都取出来就能得到二进制的值。
    又 A = 2 * (a * 23 + b * 22 + c * 21 + d * 20) + e
    所以A除以2即能得到整数位(a * 23 + b * 22 + c * 21 + d * 20) 和余数e

  • 上边得到的整数(a * 23 + b * 22 + c * 21 + d * 20)除以2即能得到整数位(a * 22 + b * 21 + c * 20)和余数d

  • 以此类推,可得c,b,a

在这里插入图片描述

2. 十进制小数转二进制

  • 假设十进制小数值是A(A<1),对应的二进制为0.abcde(二进制每一位的值非0即1)。
    众所周知,二进制数换算为十进制的公式如下:
    A = a * 2-1 + b * 2-2 + c * 2-3 + d * 2-4 + e * 2-5
    二进制小数从高位到低位的每一位的权重分别为 1 2 \frac{1}{2} 21 1 4 \frac{1}{4} 41 1 8 \frac{1}{8} 81 1 16 \frac{1}{16} 161 1 32 \frac{1}{32}
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值