永发信息网

一个小于等于31的数 用公式怎么算出是这5个数1,2,4,8,16任意相加的结果

答案:1  悬赏:60  手机版
解决时间 2021-08-15 03:42
一个小于等于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
再问: 在java程序中采用递归应该怎么写啊?
再答: 编程语言我一门都没学会~~~~~ - -!

我用一个简单的excel表格表示一下吧


我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
qq幻想世界公主分布点
宜昌哪里能买到这些服装?
楼梯的功能是什么,爬楼梯对身体有什么好处和
生日时送男朋友?什么礼物
索爱W850i怎么设置彩信?
爱国的现代诗歌短一点,短歇后语大全
没标题..
灵宝市三门峡齐民批零部这个地址在什么地方,
平面四边形ABCD是一只“风筝”的骨架,其中AB=
楼下练习篮球
每次上3gqq要多少流量
“科学家通过对蝙蝠的研究,发明了雷达 .” 这
经典情诗来几首呗?
3D和4D有什么区别?
山东的土黑猪、运到黑龙江养、能养活吗?谢谢
推荐资讯
CF鬼步教一下
济南市七月份降水量是多少毫米
QQ宠物浪漫情人称号谁有?
地下城华北四,素喃多少钱可以买到…
现在Q吧怎么点
郑州科技学院的学习气氛怎样?
靖州苗族侗族自治县怀化春风宾馆(红星西路店)
兼听则明,偏听则暗的故事
石家庄到池州开车多久,石家庄开车去海南东方
举杯邀明月的下一句,李白写月亮的诗句举杯邀
我买了个金士顿DDR3 1600 的内存, 为什么显
狗叫用英文怎么说?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?