由1,2,4,8,16...相加组成的数,如何快速确定组合数有一个long型数据,它可能由1,2,4,8,16...等数相加组成,如何用最少的循环次数确认出它由哪几个数组成?如:9 由 1、8 组成(如何通过两次循环得出结论来:2^0 + 2^3 , 最终结果包含0 和 3)又如:521 由 1、8、512 组成(如何通过三次循环得出结论来:2^0 + 2^3 + 2^9, 最终结果包含0 、 3 和 9)[解决办法]转换成2进制不就知道了 9 = 1001