用C语言写一个把十进制转换为二进制的代码
时间: 2024-06-12 16:10:54 浏览: 95
好的,以下是将十进制数转换为二进制数的C语言代码:
```c
#include <stdio.h>
void decimalToBinary(int n) {
int binaryNum[32];
int i = 0;
while (n > 0) {
binaryNum[i] = n % 2;
n = n / 2;
i++;
}
for (int j = i - 1; j >= 0; j--)
printf("%d", binaryNum[j]);
}
int main() {
int decimalNum;
printf("请输入一个十进制数:");
scanf("%d", &decimalNum);
printf("二进制数为:");
decimalToBinary(decimalNum);
return 0;
}
```
相关问题
用C语言栈写一个十进制转换二进制的代码
好的,以下是一个用C语言栈写的十进制转换二进制的代码:
```C
#include <stdio.h>
#include <stdlib.h>
#define STACK_SIZE 20
struct stack {
int top;
int items[STACK_SIZE];
};
void push(struct stack *s, int x) {
if (s->top == STACK_SIZE-1) {
printf("Stack overflow\n");
exit(EXIT_FAILURE);
}
s->items[++(s->top)] = x;
}
int pop(struct stack *s) {
if (s->top == -1) {
printf("Stack underflow\n");
exit(EXIT_FAILURE);
}
return s->items[(s->top)--];
}
void decimal_to_binary(int n) {
struct stack s;
s.top = -1;
while (n > 0) {
int rem = n % 2;
push(&s, rem);
n = n / 2;
}
printf("Binary number is: ");
while (s.top != -1) {
printf("%d", pop(&s));
}
printf("\n");
}
int main() {
int n;
printf("Enter a decimal number: ");
scanf("%d", &n);
decimal_to_binary(n);
return 0;
}
```
该程序使用了一个栈来存储每个二进制位。在进行转换时,将给定的十进制数除以2,将余数压入栈中,直到得到的商为0。然后从栈中弹出每个元素并打印出来,这样就可以得到该十进制数的二进制表示。
请用c语言写一个十进制转换为二进制的程序
```
#include <stdio.h>
int main() {
int decimal, binary[32]; // 最多32位二进制数
int i = 0, j;
printf("请输入一个十进制数:");
scanf("%d", &decimal);
// 将十进制数转换为二进制数
while (decimal != 0) {
binary[i] = decimal % 2;
decimal /= 2;
i++;
}
// 输出二进制数
printf("转换为二进制数为:");
for (j = i - 1; j >= 0; j--) {
printf("%d", binary[j]);
}
return 0;
}
```