C语言2进制转八进制
下面是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;
}
代码中使用了字符串处理函数strlen和strcat来处理输入的二进制数,然后按照每3位一组的方式将二进制数转换为八进制数,并保存到一个字符数组octal中。最后输出转换后的八进制数。
原文地址: https://www.cveoy.top/t/topic/bbcj 著作权归作者所有。请勿转载和采集!