Submission
Status:
PPPPPPPPPP
Subtask/Task Score:
100/100
Score: 100
User: eippy
Problemset: แปลงเลขฐาน
Language: cpp
Time: 0.002 second
Submitted On: 2025-10-13 10:11:23
#include<iostream>
#include<cstring>
#include<cmath>
using namespace std;
int main(){
string s;
char t[65];
cin >> s;
int dec = 0;
for (int i=0; i<s.length(); i++){
int value;
if (s[i] >= '0' && s[i] <= '9'){
value = s[i]-'0';
} else if (s[i] >= 'A' && s[i] <= 'F'){
value = s[i]-'A'+10;
}
int p = s.length()-1-i;
dec += value * pow(16,p);
}
if (dec == 0){
cout << 0 << endl << 0;
return 0;
}
int ori = dec;
int j=0;
if (dec == 0) {
t[j++] = '0';
} else {
while (dec > 0){
t[j++] = dec%2 + '0';
dec /= 2;
}
}
t[j] = '\0';
for (int i=0; i<j/2; i++){
int temp = t[i];
t[i] = t[j-i-1];
t[j-i-1] = temp;
}
cout << t << endl;
cout << oct << ori;
return 0;
}