用c语言实现二进制转十进制
时间: 2024-10-07 09:03:51 浏览: 32
在 C 语言中,将二进制数转换成十进制可以采用循环和位操作的方式。以下是一个简单的函数示例:
```c
#include <stdio.h>
int binaryToDecimal(long long num) {
int decimal = 0;
int base = 1;
while (num > 0) {
int remainder = num % 10; // 取余得到当前二进制位
decimal += remainder * base; // 加上当前位对应的十进制值
num /= 10; // 向左移一位去掉最低有效位
base *= 2; // 下一位的基数翻倍
}
return decimal;
}
int main() {
long long binaryNum;
printf("请输入一个二进制数字(例如:1010): ");
scanf("%lld", &binaryNum);
int decimalValue = binaryToDecimal(binaryNum);
printf("该二进制数 (%lld) 转换成十进制是 %d.\n", binaryNum, decimalValue);
return 0;
}
```
在这个程序中,`binaryToDecimal` 函数接收一个二进制数作为输入,通过不断取余并累加到 `decimal` 中,实现了从二进制到十进制的转换。
相关问题
c语言实现二进制转十进制
二进制转十进制的实现方法如下:
```c
#include <stdio.h>
int main() {
int binary, decimal = 0, base = 1;
printf("请输入一个二进制数:");
scanf("%d", &binary);
while (binary > 0) {
int digit = binary % 10;
decimal += digit * base;
binary /= 10;
base *= 2;
}
printf("转换后的十进制数为:%d\n", decimal);
return 0;
}
```
这段代码可以将输入的二进制数转换为十进制数并输出。
用c语言实现二进制转换为十进制
可以使用以下的 C 代码实现二进制转换为十进制:
```c
#include <stdio.h>
int binaryToDecimal(long long n) {
int decimalNumber = 0, i = 0, remainder;
while (n != 0) {
remainder = n % 10;
n /= 10;
decimalNumber += remainder * pow(2, i);
++i;
}
return decimalNumber;
}
int main() {
long long binaryNumber;
printf("请输入一个二进制数: ");
scanf("%lld", &binaryNumber);
printf("转换为十进制: %d", binaryToDecimal(binaryNumber));
return 0;
}
```