#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
typedef struct Node {
int data;
struct Node* next;
} Node;
typedef struct Stack {
Node* top;
} Stack;
void init_stack(Stack* s) {
s->top = NULL;
}
int is_empty(Stack* s) {
return s->top == NULL;
}
void push(Stack* s, int value) {
Node
* new_node
= (Node
*)malloc(sizeof(Node
)); new_node->data = value;
new_node->next = s->top;
s->top = new_node;
}
int pop(Stack* s) {
if (is_empty(s)) {
return INT_MIN;
}
Node* temp = s->top;
int value = temp->data;
s->top = temp->next;
return value;
}
void decimal_to_b(int number, int b) {
Stack s;
init_stack(&s);
if (b < 2 || b > 16) {
return;
}
char hex[] = "0123456789ABCDEF";
while (number) {
push(&s, number % b);
number /= b;
}
while (!is_empty(&s)) {
}
}
int main() {
int number;
printf("Entrez un entier décimal : "); int base;
decimal_to_b(number,base);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPGxpbWl0cy5oPgp0eXBlZGVmIHN0cnVjdCBOb2RlIHsKICAgIGludCBkYXRhOwogICAgc3RydWN0IE5vZGUqIG5leHQ7Cn0gTm9kZTsKdHlwZWRlZiBzdHJ1Y3QgU3RhY2sgewogICAgTm9kZSogdG9wOwp9IFN0YWNrOwp2b2lkIGluaXRfc3RhY2soU3RhY2sqIHMpIHsKICAgIHMtPnRvcCA9IE5VTEw7Cn0KaW50IGlzX2VtcHR5KFN0YWNrKiBzKSB7CiAgICByZXR1cm4gcy0+dG9wID09IE5VTEw7Cn0Kdm9pZCBwdXNoKFN0YWNrKiBzLCBpbnQgdmFsdWUpIHsKICAgIE5vZGUqIG5ld19ub2RlID0gKE5vZGUqKW1hbGxvYyhzaXplb2YoTm9kZSkpOwogICAgbmV3X25vZGUtPmRhdGEgPSB2YWx1ZTsKICAgIG5ld19ub2RlLT5uZXh0ID0gcy0+dG9wOwogICAgcy0+dG9wID0gbmV3X25vZGU7Cn0KaW50IHBvcChTdGFjayogcykgewogICAgaWYgKGlzX2VtcHR5KHMpKSB7CiAgICAgICAgcmV0dXJuIElOVF9NSU47CiAgICB9CiAgICBOb2RlKiB0ZW1wID0gcy0+dG9wOwogICAgaW50IHZhbHVlID0gdGVtcC0+ZGF0YTsKICAgIHMtPnRvcCA9IHRlbXAtPm5leHQ7CiAgICBmcmVlKHRlbXApOwogICAgcmV0dXJuIHZhbHVlOwp9CnZvaWQgZGVjaW1hbF90b19iKGludCBudW1iZXIsIGludCBiKSB7CiAgICBTdGFjayBzOwogICAgaW5pdF9zdGFjaygmcyk7CiAgICBpZiAoYiA8IDIgfHwgYiA+IDE2KSB7CiAgICAgICAgcHJpbnRmKCJCYXNlIGludmFsaWRlXG4iKTsKICAgICAgICByZXR1cm47CiAgICB9ICAKICAgIGNoYXIgaGV4W10gPSAiMDEyMzQ1Njc4OUFCQ0RFRiI7CiAgICB3aGlsZSAobnVtYmVyKSB7CiAgICAgICAgcHVzaCgmcywgICBudW1iZXIgJSBiKTsKICAgICAgICBudW1iZXIgLz0gYjsKICAgIH0KICAgIHdoaWxlICghaXNfZW1wdHkoJnMpKSB7CiAgICAgICAgcHJpbnRmKCIlY1x0IiwgaGV4W3BvcCgmcyldKTsKICAgIH0KICAgIHByaW50ZigiXG4iKTsKfQoKaW50IG1haW4oKSB7CiAgICBpbnQgbnVtYmVyOwogICAgcHJpbnRmKCJFbnRyZXogdW4gZW50aWVyIGTDqWNpbWFsIDogIik7CiAgICBzY2FuZigiJWQiLCAmbnVtYmVyKTsKICAgIGludCBiYXNlOwogICAgcHJpbnRmKCJFbnRyZXogbGEgYmFzZSA6ICIpOwogICAgc2NhbmYoIiVkIiwgJmJhc2UpOwogICAgZGVjaW1hbF90b19iKG51bWJlcixiYXNlKTsKICAgIHJldHVybiAwOwp9Cg==