본문 바로가기

Algorithm/기초다지기

[c++] 16진수를 10진수로

16진수를 10진수로 바꾸는 방법을 알아보자. 

이상하게 저번에는 함수가 없다고 알고 있어, 직접 함수를 만들어줬는데 다시 찾아보니까 함수가 있다.. 

직접 만들어야 하는 경우가 있다면 항상 변수의 타입을 주의하자.. 큰수로 가면 계산이 달라져 결과값이 달라진다. 

공식적으로는 함수가 존재하니 그냥 이 방법을 쓰는 것이 현명!

 

#include <iostream> 

using namespace std; 

int main() 
{ 
    cout << stoi("0", nullptr, 16) << endl; // 0
    cout << stoi("-a", nullptr, 16) << endl; // -10
    cout << stoi("2F", nullptr, 16) << endl; // 47
    cout << stoi("-fffe", nullptr, 16) << endl; // -65534
    cout << stoi("FFFF", nullptr, 16) << endl;  // 65535
}

 

iostream 라이브러리에 존재하는 기본 stoi 함수이다.