Submission

Status:

-P--------

Subtask/Task Score:

10/100

Score: 10

User: Sunsblad

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

Language: cpp

Time: 0.003 second

Submitted On: 2025-11-21 13:41:42

#include <iostream>
#include <string>
#include <cmath>
using namespace std;
int main()
{
    string hexvalue;
    int bidegit[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];
    }
    cout << '\n' << toDec;
    
    
}