通过移位二进制数 1248相加的和取出各个加数
程序员文章站
2022-05-08 23:50:02
...
public static List getValue(Integer sum) throws Exception{
/** 初始化返回集合 **/
List list = new ArrayList<>();
/** 确定匹配数字,从1开始匹配 依次左移1位 循环**/
for(int value = 1; value <= sum; value = value << 1){
if((sum & value) != 0){
list.add(value);
sum = sum - value;
}
}
return list;
}