二进制转化为十进制c
时间: 2024-09-19 13:06:40 浏览: 34
C语言十进制转二进制代码实例
5星 · 资源好评率100%
二进制转十进制在C语言中通常是通过逐位权值相加的方式来实现的。以下是基本的步骤:
1. 初始化一个变量(通常是整型)来存储结果,初始值设为0。
2. 从二进制数的最低位开始(最右边),对于每一位:
- 如果该位是1,则将2的相应次幂(从0次方到当前位减1次方)乘以当前的位值(如果是左移后的0,就相当于乘以1)并加到结果变量上。
- 位值通常可以通过取余数操作得到,例如`i % 2`,其中`i`是从二进制字符串中读取的当前位。
3. 循环直到遍历完所有的二进制位。
下面是一个简单的C函数示例,用于将二进制字符串转换为十进制整数:
```c
#include <stdio.h>
#include <string.h>
int binaryToDecimal(const char *binaryStr) {
int decimal = 0;
int base = 1;
int len = strlen(binaryStr);
for (int i = len - 1; i >= 0; i--) {
if (binaryStr[i] == '1') {
decimal += base;
}
base *= 2;
}
return decimal;
}
int main() {
const char* binary = "1010";
int decimalValue = binaryToDecimal(binary);
printf("Binary %s is equivalent to decimal %d.\n", binary, decimalValue);
return 0;
}
阅读全文