将输入的四位二进制数转换为十进制数并输出该十进制数字。C语言
时间: 2024-10-14 19:11:37 浏览: 34
C语言实现二进制数据转换为十进制数据
在C语言中,将四位二进制数转换成十进制数通常通过逐位乘法累加的方式实现,因为每一位二进制数(0或1)乘以2的相应幂次等于其在十进制中的值。以下是一个简单的函数示例:
```c
#include <stdio.h>
// 函数定义,将四位二进制数转换为十进制
int binaryToDecimal(char binary[5]) {
int decimal = 0;
int power = 0; // 用于计算当前位对应2的幂
for (int i = 4; i >= 0; i--) { // 从右向左遍历,最高位在最右边
if (binary[i] == '1') { // 如果是1,则加上2的相应幂
decimal += pow(2, power);
}
power++; // 每次移动一位,指数增加1
}
return decimal;
}
int main() {
char binary[5];
printf("请输入四位二进制数: ");
scanf("%s", binary);
// 确保输入的是四位数且只有0和1
if (binary[0] != '1' || binary[1] != '0' || binary[2] != '1' || binary[3] != '0') {
printf("输入错误,只接受形式为1010的四位二进制数。\n");
return 1;
}
int decimalValue = binaryToDecimal(binary);
printf("转换后的十进制数为: %d\n", decimalValue);
return 0;
}
```
阅读全文