帮我写一个把二级制转换为10进制的c语言代码
时间: 2023-08-28 17:23:44 浏览: 80
当然可以,下面是一个将二进制字符串转换为十进制整数的 C 语言代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
int main() {
char binary[32];
printf("请输入一个二进制数:");
scanf("%s", binary);
int len = strlen(binary);
int decimal = 0;
for (int i = 0; i < len; i++) {
int bit = binary[i] - '0';
decimal += bit * pow(2, len - i - 1);
}
printf("转换后的十进制数为:%d\n", decimal);
return 0;
}
```
在这个代码中,我们先通过 `scanf` 函数获取用户输入的二进制数,然后遍历二进制字符串中的每一位,将每一位乘以对应的权重(2 的幂次方),并将它们相加得到最终的十进制数。最后,我们输出转换后的十进制数。
需要注意的是,在转换时我们将二进制字符串中的字符 `'0'` 转换为整数 0,将字符 `'1'` 转换为整数 1。这里使用了 `pow` 函数计算幂次方,需要包含 `math.h` 头文件。
阅读全文