10进制转换成2进制


步骤详解(权值展开法)

1. 列出权值(从大到小排列)

先写出比 169 小的所有 2的幂次方(权值),从大到小排好队:
128 → 64 → 32 → 16 → 8 → 4 → 2 → 1
(因为再大的权值256已经超过169了,所以从128开始)


2. 从最大的权值开始试减

规则

  • 如果能减,标记 1,并减去这个权值;
  • 如果不能减,标记 0,保留剩余值。
当前权值能否减去?操作剩余值二进制位
128169 ≥ 128✅ 标记1,169 - 128 = 41411
6441 < 64❌ 标记0,不减去410
3241 ≥ 32✅ 标记1,41 - 32 = 991
169 < 16❌ 标记0,不减去90
89 ≥ 8✅ 标记1,9 - 8 = 111
41 < 4❌ 标记0,不减去10
21 < 2❌ 标记0,不减去10
11 ≥ 1✅ 标记1,1 - 1 = 001

3. 组合二进制结果

按权值顺序(从高到低)排列二进制位:
1 0 1 0 1 0 0 1
最终结果10101001


验证是否正确

把二进制结果转回十进制验证:
[
1×128 + 0×64 + 1×32 + 0×16 + 1×8 + 0×4 + 0×2 + 1×1 = 128 + 32 + 8 + 1 = 169
]
结果正确!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值