请写一段C语言代码:将输入的2进制字符串转换为10进制数输出
时间: 2024-02-11 21:05:30 浏览: 27
好的,以下是将输入的2进制字符串转换为10进制数的C语言代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
int main() {
char binary_string[100];
printf("请输入一个二进制字符串:");
scanf("%s", binary_string);
int binary_length = strlen(binary_string);
int decimal_number = 0;
for (int i = 0; i < binary_length; i++) {
if (binary_string[i] == '1') {
decimal_number += pow(2, binary_length - i - 1);
}
}
printf("转换为十进制数为:%d\n", decimal_number);
return 0;
}
```
这段代码使用了`scanf()`函数从标准输入中读取一个二进制字符串,并使用`strlen()`函数获取该字符串的长度。然后使用循环遍历每一位,如果该位为1,则将其对应的十进制数加到结果中。最后输出转换后的十进制数。
相关问题
利用c语言将输入的2进制字符串转换为10进制数输出
可以使用以下代码实现:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
int main() {
char binary[100];
int decimal = 0, i, len;
printf("Enter a binary number: ");
scanf("%s", binary);
len = strlen(binary);
// Converting binary to decimal
for (i = 0; i < len; i++) {
decimal += (binary[len - 1 - i] - '0') * pow(2, i);
}
printf("Decimal number: %d\n", decimal);
return 0;
}
```
这段代码先从用户获取一个二进制字符串,然后将其转换为十进制数并输出。在转换过程中,它使用了 `pow()` 函数来计算幂次。注意在计算时需要将字符类型的 `'0'` 转换为整型的 `0`。
编一段可以将输入的十进制整数num转换成二进制字符串输出的c语言代码
以下是将十进制整数 num 转换成二进制字符串输出的 C 语言代码:
```c
#include <stdio.h>
int main() {
int num, binary[32], i = 0;
printf("请输入一个十进制整数: ");
scanf("%d", &num);
while (num > 0) {
binary[i] = num % 2;
num /= 2;
i++;
}
printf("二进制表示为: ");
for (int j = i - 1; j >= 0; j--)
printf("%d", binary[j]);
return 0;
}
```
该程序将输入的十进制整数 num 转换成二进制数,存储在数组 binary 中,并倒序输出二进制数,最终得到一个二进制字符串。