62,615
社区成员
发帖
与我相关
我的任务
分享
public void transferBi(int num) {
// 接收二进制各位数
List<Integer> bi = new ArrayList<Integer>();
// 接收组成数
List<Integer> numbers = new ArrayList<Integer>();
// 计算组成数时,获取当前位的0/1值
int number = 0;
// 二进制转换
while(num > 0) {
bi.add(num%2);
num = num/2;
}
// 计算组成数
for(int i = 0; i < bi.size(); i++) {
if((number = bi.get(i)) != 0) {
numbers.add(number * (int)Math.pow(2, i));
}
}
// 输出结果
System.out.println("输入的数由这些数组成:");
for(int i : numbers) {
System.out.print(i + " ");
}
}