
朱老师为您分享以下优质知识
在C语言中,二进制转换为十进制的方法主要有以下两种:
一、使用 `atoi` 函数(推荐)
这是最简单的方法,适用于二进制字符串转换为十进制整数。代码示例如下:
```c
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;
printf("请输入一个二进制数: ");
scanf("%s", binary);
int decimal = binaryToDecimal(binary);
printf("对应的十进制数为: %dn", decimal);
return 0;
}
```
注意事项:`atoi` 函数会将二进制字符串直接转换为十进制数,若字符串包含非数字字符则返回0。
二、使用位运算(推荐)
通过逐位计算权重并累加,效率更高且适用于整数转换。代码示例如下:
```c
include
int binaryToDecimal(int binary) {
int decimal = 0;
int base = 0;
while (binary >
0) {
int lastDigit = binary % 10;
decimal += lastDigit * (1