boolalpha
조정자 사용 예제// Declaration
bool x = true;
bool y = false;
// Testing values without manipulators
cout << "Value of x using default:" << x << endl; // 1
cout << "Value of y using default:" << y << endl; // 0
// Testing values using manipulators
cout << "Value of x using manipulator:" << boolalpha << x << endl; // true
cout << "Value of y:" << y; // false
dec
, oct
, hex
)dec
), 8진법(oct
), 16진법(hex
) 중 하나로 출력noshowbase
, showbase
)숫자를 다른 진법으로 출력할 때 어떤 진법으로 출력하고 있는지 나타내는 접두사를 지정
10진수: 아무것도 붙이지 않음
8진수: 0
16진수: 0x
진법 조정자, 접두사 조정자 사용 예제
// Declaration of variable x
int x = 1237;
// Outputting x in three bases without showbase
cout << "x in decimal:" << x << endl; // 1237
cout << "x in octal:" << oct << x << endl; // 2325
cout << "x in hexadecimal:" << hex << x << endl << endl; // 4d5
// Outputting x in three bases with showbase
cout << "x in decimal:" << x << endl; // 1237 : 그대로
cout << "x in octal:" << showbase << oct << x << endl; // 02325 : 8진수 - 0 붙음
cout << "x in hexadecimal:" << showbase << hex << x; //0x4d5 : 16진수 - 0x 붙음
fixed
, scientific
)// Declarations
double x = 1237;
double y = 12376745.5623;
//Using fixed (default) and showpoint manipulator
cout << "x in fixed_point format:" << x << endl; // 1237
cout << "x in fixed_point format:" << showpoint << x << endl; // 1237.00
//Using scientific manipulator
cout << "y in scientific format:" << y << scientific; // 1.23767e+007
showpoint
: 부동 소수점 수를 출력할 때 소수점 이하 자릿수를 강제로 표시하도록 지시showpoint
조정자를 붙였기에 1237.00을 출력scientific
: 과학적 표기법으로 출력scientific
→ 1.23767e+007 → 10의 7승이기에 007로 표기// Declaration
double x = 1237234.1235;
// Applying common formats
cout << fixed << setprecision(2) << showpos << setfill(‘*’); // -> 소수점 2자리 표시, 나머지 *로 채움
// Printing x in three formats
cout << setw(15) << left << x << endl; // +1237231.12**** -> 왼쪽부터 숫자 채우고 15글자에 맞추기
cout << setw(15) << internal << x << endl; // +****1237231.12 -> +와 숫자 사이에 *채우기
cout << setw(15) << right << x; // ****+1237231.12 -> 오른쪽에 숫자 채우고 15글자 맞추기
: 입력 스트림에서 사용하는 조정자
// Declaration
bool flag;
// Input value using manipulator
cout << "Enter true or false for flag:";
cin >> boolalpha >> flag; // if true
// Output value
cout << flag ; // 1
// Declaration
int num1, num2, num3;
// Input first number in decimal (no manipulator)
cout << "Enter the first number in decimal:";
cin >> num1; // 10진수로 입력 124
// Input second number in octal
cout << "Enter the second number in octal:";
cin >> oct >> num2; // 8진수로 입력 76
// Input second number in hexadecimal
cout << "Enter the third number in hexadecimal:";
cin >> hex >> num3; // 16진수로 입력 2ab
// Output values
cout << num1 << endl; // 124
cout << num2 << endl; // 76 -> dec -> 62
cout << num3; // 2ab -> dec -> 683