C语言中可以使用atoi
函数将二进制字符串转换为十进制整数。下面是一个示例:
#include#include #include 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
函数进行转换。最后,将转换得到的十进制整数打印出来。
请注意,上述示例没有考虑输入错误的情况,比如用户输入的字符串不是合法的二进制数。在实际应用中,你可能需要添加对输入的验证和错误处理。