用c语言写一个十进制转二进制的函数
时间: 2024-05-06 13:20:28 浏览: 105
以下是一个简单的十进制转二进制的函数实现:
```c
#include <stdio.h>
void decimalToBinary(int decimal) {
int binary[32];
int i = 0;
// 将十进制数转换为二进制数
while (decimal > 0) {
binary[i] = decimal % 2;
decimal /= 2;
i++;
}
// 输出二进制数
printf("二进制数为: ");
for (int j = i - 1; j >= 0; j--) {
printf("%d", binary[j]);
}
}
int main() {
int decimal;
printf("请输入一个十进制数: ");
scanf("%d", &decimal);
decimalToBinary(decimal);
return 0;
}
```
在上面的程序中,我们定义了一个函数`decimalToBinary()`,它接受一个`int`类型的十进制数作为参数,并将其转换为二进制数。我们使用一个整数数组来存储二进制数的每一位,并使用一个循环将十进制数转换为二进制数。最后,我们使用另一个循环将二进制数输出到屏幕上。
相关问题
用c语言写一个十进制转换二进制
的函数,函数原型为:void dec2bin(int dec, char* bin)。
以下是函数的代码:
void dec2bin(int dec, char* bin) {
int i = 0;
while (dec > 0) {
bin[i++] = dec % 2 + '0';
dec /= 2;
}
bin[i] = '\0';
int len = strlen(bin);
for (int j = 0; j < len / 2; j++) {
char temp = bin[j];
bin[j] = bin[len - j - 1];
bin[len - j - 1] = temp;
}
}
这个函数可以将一个十进制数转换成二进制数,并将结果存储在一个字符数组中。
用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的幂,以便将其转换为十进制数。最后,我们将所有数字相加,并将结果返回给调用函数。
阅读全文