본문 바로가기
■ Programming /C++

[C++] 4-3. 10진수 , 8진수 , 16진수의 표현 및 출력

by Popbox 2017. 3. 20.
반응형

[C++] 4-3. 10진수 , 8진수 , 16진수의 표현 및 출력

[뇌를 자극하는 C++ , 저.이현창]책을 기준으로 작성하였습니다

 

 

10진수 , 8진수 , 16진수의 표현 및 출력

 

지금까지는 프로그램을 작성하면서 10진수만 사용했었습니다.!

그러나 8진수 16진수 모두 사용이 가능합니다.

때로는 10진수를 사용하는 것 보다 훨씬 편리하고 좋은 코드를 작성할 수 있습니다.

(물론 어려워요.. 진법 ㅠㅠ , 여기에서 자세히  다루지 않아요~)

8진수와 16진수를 컴퓨터에게 알려주기 위해 규칙이 존재합니다.

 

 

  1.  10진수 값을 8진수 16진수로 표현하기

 

8진수는 숫자앞에 0 (숫자0) 을 붙여줍니다.

16진수는 숫자앞에 0x(숫자0)을 붙여줍니다.

1
2
3
4
5
6
7
8
9
10
11
//각각 10 , 8 , 16 진법을 사용
 
 
    int decimal     = 41;   // 10진수
    int octal       = 041;  //  8진수
    int hexadecimal = 0x41// 16진수
 
    //출력
    cout << "10진수 - 41의   10진수 값 : "  << decimal      << endl;
    cout << " 8진수 - 041의  10진수 값 : "  << octal        << endl;
    cout << "16진수 - 0x41의 10진수 값 : "  << hexadecimal  << endl;
cs

 

 

 

 

 

  2.  그럼 문자 출력 자체를 8 , 16진수로 해보자!

cout 과 마찬가지로 std(namespace)에 존재하는 객체를 이용합니다.

1
2
3
4
5
6
7
8
9
10
11
    //각각 10 , 8 , 16 진법을 사용
    int decimal        = 41;     // 10진수
    int octal          = 041;    //  8진수
    int hexadecimal    = 0x41;   // 16진수
 
    //8진수로 출력하기
    cout << "10진수를  8진수로 : " << oct << decimal     << endl;
    cout << "16진수를  8진수로 : " << oct << hexadecimal << endl;
    //16진수로 출력하기
    cout << "10진수를 16진수로 : " << hex << decimal << endl;
    cout << " 8진수를 16진수로 : " << hex << octal   << endl;
cs

 

 

 

oct  :  8진수로 출력한다.(원형- std::oct )

hex : 16진수로 출력한다.(원형- std::hex)

dex : 10진수로 출력한다.(원형- std::dex)

 

 

using namespace std; 를 안하시면

cout 객체와 oct , hex 모두 사용이 안될 것 입니다. 주의하세요~~

 

 

 

 

   

 감사합니다. 공감 한번 부탁드려요.

[ 다음 장 ]

[ C++ ] 4-4 . [데이터 타입/자료형]  실수형 데이터 타입 사용과 표현 :  http://popbox.tistory.com/32 

 

반응형

댓글