C语言实现十进制到二进制转换
#include <stdio.h>
#include <string.h>
int main() {
unsigned int num;
printf('Please input a integer:');
scanf('%u', &num);
char binary[33];
int i = 0;
while (num > 0) {
binary[i] = num % 2 + '0';
num /= 2;
i++;
}
binary[i] = '\0';
printf('n=%s\n', strrev(binary));
return 0;
}
首先,我们使用unsigned int来存储输入的无符号十进制整数num。
然后,我们创建一个字符数组binary来存储转换后的二进制字符串。由于无符号十进制整数最多有32位,所以我们分配33个字符的空间(包括最后一个字符用于存储字符串结束标志\0)。
接下来,我们使用一个循环来进行进制转换。在每一次循环中,我们首先将num的最后一位转换成字符并存储到binary数组中。然后,我们将num除以2,以便在下一次循环中处理下一位。同时,我们还需要维护一个索引i来记录当前位的位置。
最后,我们将binary数组反转,以获得正确的二进制字符串。然后,我们使用printf函数将结果输出到控制台。
原文地址: https://www.cveoy.top/t/topic/pknO 著作权归作者所有。请勿转载和采集!