Submission
Status:
----------
Score: 0
User: tankunkid
Problemset: แปลงเลขฐาน
Language: c
Time: 0.001 second
Submitted On: 2024-10-16 20:25:12
#include <stdio.h>
char a[10005];
int to[10005];
int egg[10005];
int main() {
int n = 0;
long long sum = 0, rem = 1;
scanf("%s", a);
for (int i = 0; a[i] != '\0'; i++) {
n++;
}
for (int i = n-1; i >= 0; i--) {
if (a[i] >= 'A' && a[i] <= 'F') {
a[i] -= 55;
} else a[i] -= '0';
sum += a[i]*rem;
rem *= 16;
}
printf("%lld\n", sum);
int idx = 0, n2 = 0;
long long tem = sum;
while (tem != 0) {
to[idx] = tem%2;
tem /= 2;
idx++;
}
for (int i = idx-1; i >= 0; i--) {
printf("%d", to[i]);
}
printf("\n");
idx = 0;
tem = sum;
n2 = 0;
while (tem != 0) {
egg[idx] = tem%8;
tem /= 8;
idx++;
}
for (int i = idx-1; i >= 0; i--) {
printf("%d", egg[i]);
}
}