使用C语言for循环写一个二进制转换为十进制的程序
时间: 2023-09-18 14:11:20 浏览: 56
下面是一个使用for循环的C语言程序,用于将二进制数转换为十进制数:
```c
#include <stdio.h>
#include <math.h>
int binaryToDecimal(long long n);
int main() {
long long n;
printf("Enter a binary number: ");
scanf("%lld", &n);
printf("%lld in binary = %d in decimal", n, binaryToDecimal(n));
return 0;
}
int binaryToDecimal(long long n) {
int decimal = 0, i, remainder;
for (i = 0; n != 0; ++i, n /= 10) {
remainder = n % 10;
decimal += remainder * pow(2, i);
}
return decimal;
}
```
在上面的程序中,我们使用for循环来遍历二进制数中的每个数字。在每次循环中,我们使用`n%10`来获取二进制数的最后一位数字,并将其存储在`remainder`变量中。然后,我们将二进制数除以10,以便我们可以继续处理下一个数字。在每次循环中,我们使用`pow()`函数将二进制数的每一位数字乘以2的幂,以便将其转换为十进制数。最后,我们将所有数字相加,并将结果返回给调用函数。
相关问题
用C语言写一个二进制转换十进制的程序
下面是一个简单的C语言程序,用于将二进制数转换为十进制数:
```c
#include <stdio.h>
#include <math.h>
int binaryToDecimal(long long n);
int main() {
long long n;
printf("Enter a binary number: ");
scanf("%lld", &n);
printf("%lld in binary = %d in decimal", n, binaryToDecimal(n));
return 0;
}
int binaryToDecimal(long long n) {
int decimal = 0, i = 0, remainder;
while (n != 0) {
remainder = n % 10;
n /= 10;
decimal += remainder * pow(2, i);
++i;
}
return decimal;
}
```
在上面的程序中,我们首先从用户输入中获取一个二进制数。然后,我们调用一个名为`binaryToDecimal()`的函数来将二进制数转换为十进制数,并将其打印出来。
函数`binaryToDecimal()`使用while循环来遍历二进制数中的每个数字。我们通过使用`n%10`来获取二进制数的最后一位数字,并将其存储在`remainder`变量中。然后,我们将二进制数除以10,以便我们可以继续处理下一个数字。在每次循环中,我们使用`pow()`函数将二进制数的每一位数字乘以2的幂,以便将其转换为十进制数。最后,我们将所有数字相加,并将结果返回给调用函数。
二进制转换为十进制程序c语言
以下是将二进制数转换为十进制数的C语言程序:
```
#include <stdio.h>
#include <math.h>
int main()
{
int binary, decimal = 0, i = 0, remainder;
printf("Enter the binary number: ");
scanf("%d", &binary);
while (binary != 0)
{
remainder = binary % 10;
binary /= 10;
decimal += remainder * pow(2, i);
++i;
}
printf("The decimal equivalent is %d", decimal);
return 0;
}
```
程序首先从用户那里获取一个二进制数,然后在一个 while 循环中,它将该数字的每个位数都分离出来,并将其转换为十进制数。最后,程序将计算出的十进制数输出到屏幕上。