温馨提示×

c语言二进制怎么转化为十进制

小亿
344
2023-09-14 16:08:35
栏目: 编程语言

C语言中可以使用atoi函数将二进制字符串转换为十进制整数。下面是一个示例:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int binaryToDecimal(char *binary) {
int decimal = 0;
// 逐位遍历二进制字符串
for (int i = 0; i < strlen(binary); i++) {
// 将字符转换为数字
int bit = binary[i] - '0';
// 计算对应位的十进制值
decimal = decimal * 2 + bit;
}
return decimal;
}
int main() {
char binary[32];
printf("请输入一个二进制数:");
scanf("%s", binary);
int decimal = binaryToDecimal(binary);
printf("对应的十进制数为:%d\n", decimal);
return 0;
}

在上述示例中,binaryToDecimal函数接受一个表示二进制数的字符串,并将其转换为十进制整数。函数首先初始化一个十进制变量decimal为0,然后逐位遍历二进制字符串。对于每一位,将字符转换为数字,并使用乘法和加法操作来计算该位的十进制值。最后,返回十进制整数。

在主函数中,首先通过scanf函数获取用户输入的二进制字符串,并调用binaryToDecimal函数进行转换。最后,将转换得到的十进制整数打印出来。

请注意,上述示例没有考虑输入错误的情况,比如用户输入的字符串不是合法的二进制数。在实际应用中,你可能需要添加对输入的验证和错误处理。

1