下面是C语言实现2进制转八进制的示例代码:

#include <stdio.h>
#include <string.h>

int main() {
    char binary[100], octal[1000];
    int i, j, k, len, sum;

    printf("请输入一个二进制数:");
    scanf("%s", binary);

    len = strlen(binary);

    // 如果二进制数的长度不是3的倍数,前面补0
    while (len % 3 != 0) {
        strcat(binary, "0");
        len++;
    }

    k = 0;
    for (i = 0; i < len; i += 3) {
        sum = 0;
        for (j = 0; j < 3; j++) {
            sum += (binary[i+j] - '0') * (1 << (2-j));
        }
        octal[k++] = sum + '0';
    }
    octal[k] = '\0';

    printf("转换后的八进制数为:%s\n", octal);

    return 0;
}

代码中使用了字符串处理函数strlenstrcat来处理输入的二进制数,然后按照每3位一组的方式将二进制数转换为八进制数,并保存到一个字符数组octal中。最后输出转换后的八进制数。

C语言2进制转八进制

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

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