#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函数将结果输出到控制台。

C语言实现十进制到二进制转换

原文地址: https://www.cveoy.top/t/topic/pknO 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录