输入二进制1101.11转换为十进制C语言
时间: 2024-03-17 10:46:42 浏览: 167
以下是将二进制数1101.11转换为十进制数的C代码示例:
```c
#include <stdio.h>
#include <math.h>
int main() {
char binary[] = "1101.11";
int integer_part = 0;
double decimal_part = 0;
int i;
for (i = 0; binary[i] != '.' && binary[i] != '\0'; i++) {
integer_part = 2 * integer_part + (binary[i] - '0');
}
if (binary[i] == '.') {
i++;
int power = -1;
while (binary[i] != '\0') {
decimal_part += pow(2, power) * (binary[i] - '0');
power--;
i++;
}
}
double decimal = integer_part + decimal_part;
printf("Decimal: %lf", decimal);
return 0;
}
```
该程序首先定义一个二进制字符串"1101.11",然后使用for循环将其分成整数部分和小数部分。在for循环中,我们使用2倍增加整数部分的值,并将每个字符转换为数字并添加到整数部分中。如果我们遇到小数点,我们将指针移动到小数部分的第一个数字。然后,我们使用幂函数将每个数字转换为其等效的十进制值,并将其乘以2的幂次方。最后,我们将整数部分和小数部分相加,得到十进制数,并将其输出给用户。
阅读全文