输入一个四位二进制数,如何输出其对应的十进制整数?要求C语言实现。
时间: 2024-10-19 09:16:22 浏览: 49
在C语言中,将四位的二进制数转换成十进制整数,你可以通过从右向左逐位乘以2的幂次并累加的方式来实现。这是一个基础的算术操作,下面是一个简单的示例:
```c
#include <stdio.h>
int binaryToDecimal(int binary) {
int decimal = 0;
int power = 0;
// 从最低位开始处理
while (binary != 0) {
int last_digit = binary & 1; // 取最后一位的值(0 或 1)
decimal += last_digit * pow(2, power); // 将当前位乘以对应权重并加到结果上
binary >>= 1; // 右移一位,去掉最低位
power++; // 增加权重(每次循环权重增加1)
}
return decimal;
}
int main() {
int binaryInput;
printf("请输入一个四位的二进制数: ");
scanf("%d", &binaryInput);
if (binaryInput >= 0 && binaryInput <= 15) { // 检查输入是否在合法范围内
int decimalOutput = binaryToDecimal(binaryInput);
printf("对应的十进制整数是: %d\n", decimalOutput);
} else {
printf("输入无效! 请提供一个0到15之间的四位二进制数。\n");
}
return 0;
}
```
这个程序首先接收用户的四位二进制输入,然后将其转换成十进制,并打印出结果。如果输入不在0到15之间(因为四位二进制最大表示的是15),则会提示输入无效。
阅读全文