Submission

Status:

PPPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: samsenpisardmoo69

Problemset: แปลงเลขฐาน

Language: cpp

Time: 0.003 second

Submitted On: 2026-10-03 14:19:52

#include <bits/stdc++.h>
using namespace std;
string convert_binary(int b)
{
    if(b == 0) return "0";
    string digitbi = "01";
    string ans = "";
    
    while(b!=0)
    {
        int mod = b%2;
        ans = digitbi[mod] + ans;
        b/=2;
    }
    return ans;
}

string convert_hex(int b)
{
    if(b == 0) return "0";
    string digithex = "01234567";
    string ans = "";
    
    while(b!=0)
    {
        int mod = b%8;
        ans = digithex[mod] + ans;
        b/=8;
    }
    return ans;
}

int main()
{
    string a;
    cin >> a;
    string dst = "0123456789ABCDEF";
    int b=0;
    
    for(int i=a.length()-1; i>=0; i--)
    {
        for(int j=0; j<16; j++)
        {
            if(a[i] == dst[j])
            {
                b+=j*pow(16,a.length()-i-1);
            }
        }
    }
    cout << convert_binary(b) << endl;
    cout << convert_hex(b);
}