Submission
Status:
--------------------
Subtask/Task Score:
0/100
Score: 0
User: wasupum
Problemset: Abacus
Language: c
Time: 0.002 second
Submitted On: 2025-10-25 15:06:44
#include <stdio.h>
#include <string.h>
int hexdec(char hex[]){
size_t len = strlen(hex);
int dec = 0 ;
int base = 1;
for(size_t i = len ; i-- > 0; ){
char c = hex[i];
if(c >= '0' && c <= '9')dec += (c - '0') * base;
else dec += (c - 'A'+ 10)*base;
base *= 16;
}
return dec;
}
void decbin(int dec){
int bin[100], i = 0;
while(dec > 0){
bin[i++] = dec % 2;
dec /= 2;
}
for(int j = i - 1;j >= 0 ; j--){
printf("%d",bin[j]);
}
printf("\n");
}
void decoct(int dec){
int oct[100], i = 0;
while(dec > 0){
oct[i++] = dec % 8;
dec /= 8;
}
for(int j = i-1; j >= 0; j--){
printf("%d",oct[j]);
}
}
int main(void){
char hex[4];
scanf("%s",hex);
int dec = hexdec(hex);
decbin(dec);
decoct(dec);
return 0;
}