我想使用迭代过程将小数转换为二进制数。我怎样才能让这个空间复杂度为O(1)而不是O(n)? int i = 0;
int j;
int bin[] = new int[n]; //n here is my paramater int n
while(n > 0) {
bin[i] = n % 2;
n /= 2;
i++;
}
//I'm reversin
我想知道有什么区别: int a = 0b00000100;
int a = 0x04;
int a = 4;
当用gcc编译。 我似乎得到一个不同的二进制文件,当编译似乎是相同的数字,只是在不同的符号。但是,当我运行objdump时,似乎没有任何区别。有人能告诉我发生了什么事吗? 这是我的输出: [email protected]:[~]: cat testbin.c && echo &
我是emu8086中的一个begginer,而且我似乎无法修复此代码。我需要从十进制转换为二进制,有时它做得很好,例如,当我使用像4,8,15,16,255这样的数字时,一切正常。但是,如果我使用例如2,9,17,254,它不会显示正确的数字。我真的需要帮助。 .model small
.data
exp db 8 dup (?)
num dw 09
var dw 2
.cod