월요일, 7월 4

20160704 C++ 진수 변환 출력

진수 변환 출력

cout << hex << number << endl; // 16진수 표현

cout << dec << number << endl; // 10진수 표현

cout << oct << number << endl; // 8진수 표현

빨간색으로 표기한 부분이 가장 중요한 부분.
만약 저 부분을 안쓰고 그냥 컴파일한다면 변수 number에 저장된 값이 그래도 나오게된다.
이와같이 사용자가 임의로 표기하기 위해서 사용되는 것이 조정자라고 한다.

cout에서의 조정자의 종류에는 oct, hex, uppercase,showbase등이 있다.
이 조정자를 사용하기 위해서는 <iostream>과 <iomanip>를 include 시켜주어야한다.

코딩하면서 안 사실인데 c++의 조정자는 c언어와 다르게 지속적으로 유지가 된다.?

예를 들어
 a=10;
 cout << hex << a << endl;
 cout << a << endl;
을 컴파일하면

a
a
를 출력하게 된다.
두번째 출력을 10진수로 바꾸고 싶다면 다음과 같이 입력하면 된다.

 cout << hex << a << endl;
 cout << a << endl;
 cout << dec << a << endl;
 cout << a << endl;
이를 컴파일하면

a
a
10
10
을 출력하게 된다.

그 밖에도 다양한 조정자가 있다.

oct
8진수
hex
10진수
dec
18진수
fixed
 
showpoint
 
uppercase
 
showbase
 
nofixed
fixed 효과제거
noshowpoint
showpoint 효과제거
nouppercase
uppercase 효과제거
noshowbase
showbase 효과제거
setw(10)
연산자의 총 길이
setprecision(9)
지정 유효숫자의 출력
setfill(‘?’)
setw()과 같이 쓰이며 남은 여백을 채우는 용도