我有一个作业要做十进制到二进制的对话。这是我的代码:
int num = 0;
int temp = 0;
Scanner sc = new Scanner(System.in);
num = sc.nextInt();
//System.out.print(""+ num%2+ (num%2)%2);
while(num != 0) {
temp = num;
System.out.print(""+(int) temp % 2);
num = num / 2;
}
它工作正常,但它给我的输出是 LSB 而不是 MSB。
例如:
35
110001
但我需要它100011
。
我不能使用任何函数或方法来反转它。我知道我可以把它放在一个数组、字符串或其他任何东西中并做一些魔术。但我只能使用while
循环、取模和打印。
有什么建议么?