c语言二进制转十进制代码
时间: 2023-09-11 15:04:01 浏览: 35
当用户输入一个二进制数时,可以使用以下代码将其转换为十进制数:
```
#include <stdio.h>
#include <math.h>
int main() {
long long binary;
int decimal = 0, i = 0, remainder;
printf("请输入一个二进制数:");
scanf("%lld", &binary);
while (binary != 0) {
remainder = binary % 10;
binary /= 10;
decimal += remainder * pow(2, i);
++i;
}
printf("该二进制数的十进制数为:%d", decimal);
return 0;
}
```
这是一个简单的程序,使用了 while 循环将二进制数转换为十进制数。
相关问题
c语言 二进制转十进制
C语言中,可以通过循环和取余运算来实现二进制转十进制的功能。具体步骤如下:
1. 定义一个变量sum,用于存储转换后的十进制数。
2. 从二进制数的最右边一位开始,依次取出每一位的值,将其乘以2的相应次方,然后累加到sum中。
3. 每次取出一位后,将二进制数除以10,以便取下一位。
4. 循环直到二进制数变为0为止。
5. 最后输出sum即为转换后的十进制数。
下面是一个示例代码:
```
#include <stdio.h>
int main() {
int binary, decimal = 0, base = 1, rem;
printf("请输入一个二进制数:");
scanf("%d", &binary);
while (binary > 0) {
rem = binary % 10;
decimal += rem * base;
binary /= 10;
base *= 2;
}
printf("转换后的十进制数为:%d\n", decimal);
return 0;
}
```
c语言十进制转二进制代码
以下是一个C语言的代码示例,用于将十进制数转换为二进制数:
```c
#include <stdio.h>
void dectobin(int n) {
if (n == 0) {
return;
}
dectobin(n / 2);
printf("%d", n % 2);
}
int main() {
int n;
scanf("%d", &n);
dectobin(n);
return 0;
}
```
这段代码使用递归的方式将十进制数转换为二进制数。首先,判断输入的数是否为0,如果是0则直接返回。否则,将输入的数除以2并递归调用函数本身,然后打印余数。这样就可以逐步将十进制数转换为二进制数。