Submission
Status:
PPPPPPPPPP
Subtask/Task Score:
100/100
Score: 100
User: Sunsblad
Problemset: แปลงเลขฐาน
Language: cpp
Time: 0.003 second
Submitted On: 2025-11-21 13:49:11
#include <iostream>
#include <string>
#include <cmath>
using namespace std;
int main()
{
string hexvalue;
int bidegit[40];
int octal[40];
int toDec = 0, tempDec = 0 , lastdegit = 0, r = 0;
cin >> hexvalue;
for (int i = 0; i < hexvalue.size(); i++)
{
if(int(hexvalue[i]>=65))
{
toDec += (hexvalue[i] - 55) * pow(16, hexvalue.size() - i-1);
}
else
{
toDec += (hexvalue[i] - 48) * pow(16, hexvalue.size() - i-1);
}
}
tempDec = toDec;
while(tempDec > 0)
{
bidegit[r] = tempDec % 2;
tempDec /= 2;
r++;
}
for (int i = 0; i < r; i++)
{
cout << bidegit[r - i-1];
}
tempDec = toDec;
cout << '\n';
r = 0;
while (tempDec > 0)
{
octal[r] = tempDec % 8;
tempDec /= 8;
r++;
}
for (int i = 0; i < r; i++)
{
cout << octal[r - i - 1];
}
}