c语言2进制转10进制
时间: 2023-09-04 14:13:42 浏览: 284
要将一个二进制数转换为十进制数,可以使用以下算法:
1. 初始化一个变量 sum 为 0,表示十进制数的初始值为 0。
2. 从右到左遍历二进制数的每一位:
- 如果当前位为 1,则将 sum 加上 2 的幂,幂的值为当前位的位置(从右边开始,最右边的位的位置为 0)。
- 如果当前位为 0,则不进行任何操作。
3. 遍历完成后,sum 的值即为转换后的十进制数。
以下是一个示例的 C 代码实现:
```c
#include <stdio.h>
int binaryToDecimal(long long binaryNumber) {
int decimalNumber = 0, base = 1, remainder;
while (binaryNumber != 0) {
remainder = binaryNumber % 10;
decimalNumber += remainder * base;
binaryNumber /= 10;
base *= 2;
}
return decimalNumber;
}
int main() {
long long binaryNumber;
printf("Enter a binary number: ");
scanf("%lld", &binaryNumber);
int decimalNumber = binaryToDecimal(binaryNumber);
printf("Decimal number: %d\n", decimalNumber);
return 0;
}
```
你可以输入一个二进制数,然后程序将输出对应的十进制数。注意,该代码仅适用于整数形式的二进制数。