一个小于等于31的数 用公式怎么算出是这5个数1,2,4,8,16任意相加的结果每个数只能用一次 例如 14=8+4+2;而不是14=8+2+2+2
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/30 05:41:16
![一个小于等于31的数 用公式怎么算出是这5个数1,2,4,8,16任意相加的结果每个数只能用一次 例如 14=8+4+2;而不是14=8+2+2+2](/uploads/image/z/202040-8-0.jpg?t=%E4%B8%80%E4%B8%AA%E5%B0%8F%E4%BA%8E%E7%AD%89%E4%BA%8E31%E7%9A%84%E6%95%B0+%E7%94%A8%E5%85%AC%E5%BC%8F%E6%80%8E%E4%B9%88%E7%AE%97%E5%87%BA%E6%98%AF%E8%BF%995%E4%B8%AA%E6%95%B01%2C2%2C4%2C8%2C16%E4%BB%BB%E6%84%8F%E7%9B%B8%E5%8A%A0%E7%9A%84%E7%BB%93%E6%9E%9C%E6%AF%8F%E4%B8%AA%E6%95%B0%E5%8F%AA%E8%83%BD%E7%94%A8%E4%B8%80%E6%AC%A1+%E4%BE%8B%E5%A6%82+14%3D8%2B4%2B2%EF%BC%9B%E8%80%8C%E4%B8%8D%E6%98%AF14%3D8%2B2%2B2%2B2)
一个小于等于31的数 用公式怎么算出是这5个数1,2,4,8,16任意相加的结果每个数只能用一次 例如 14=8+4+2;而不是14=8+2+2+2
一个小于等于31的数 用公式怎么算出是这5个数1,2,4,8,16任意相加的结果
每个数只能用一次 例如 14=8+4+2;而不是14=8+2+2+2
一个小于等于31的数 用公式怎么算出是这5个数1,2,4,8,16任意相加的结果每个数只能用一次 例如 14=8+4+2;而不是14=8+2+2+2
用二进制来解释吧
1= 1(2进制)
2= 10(2进制)
4= 100(2进制)
8= 1000(2进制)
16= 10000(2进制)
31=11111(2进制)=10000+1000+100+10+1(2进制)
则31=16+8+4+2+1
30=11110(2进制) =10000+1000+100+10(2进制)
则=16+8+4+2
19=10011 =10000+10+1(2进制)
则=16+2+1
其余以此类推
总结起来就是
整数除以2,然后再用商除以2,直到商等于0为止,以每次的余数(1或0)进行计算 ,第一次余数乘以1,第二次的余数乘以2,第三次的余数乘以4.第y次余数乘以2^(y-1),所有余数相加则得原整数.
以30为例:
30/2=15 余0 第1次计算,0(余数)×2^(1-1)=0
15/2=7 余1 第2次计算,1(余数)×2^(2-1)=2
7/2=3 余1 第3次计算,1(余数)×2^(3-1)=4
3/2=1 余1 第4次计算,1(余数)×2^(4-1)=8
1/2=0 余1 第5次计算,1(余数)×2^(5-1)=16
则30=2+4+8+16
以27为例:
27/2=13 余1 第1次计算,1(余数)×2^(1-1)=1
13/2=6 余1 第2次计算,1(余数)×2^(2-1)=2
6/2=3 余0 第3次计算,0(余数)×2^(3-1)=0
3/2=1 余1 第4次计算,1(余数)×2^(4-1)=8
1/2=0 余1 第5次计算,1(余数)×2^(5-1)=16
则27=1+2+8+16