std:: dec, std:: hex, std:: oct
|
ヘッダー
<ios>
で定義
|
||
|
std::
ios_base
&
dec
(
std::
ios_base
&
str
)
;
|
(1) | |
|
std::
ios_base
&
hex
(
std::
ios_base
&
str
)
;
|
(2) | |
|
std::
ios_base
&
oct
(
std::
ios_base
&
str
)
;
|
(3) | |
整数I/Oのデフォルト数値基数を変更します。
basefield
を
dec
に設定します。これは
str.
setf
(
std::
ios_base
::
dec
,
std::
ios_base
::
basefield
)
を呼び出した場合と同様です。
basefield
を
hex
に設定します。これは
str.
setf
(
std::
ios_base
::
hex
,
std::
ios_base
::
basefield
)
を呼び出した場合と同様です。
basefield
を
oct
に設定します。これは
str.
setf
(
std::
ios_base
::
oct
,
std::
ios_base
::
basefield
)
を呼び出した場合と同様です。
これはI/Oマニピュレータです。
std::basic_ostream
型の任意の
out
に対して
out
<<
std
::
hex
のような式で呼び出すことができ、また
std::basic_istream
型の任意の
in
に対して
in
>>
std
::
hex
のような式で呼び出すことができます。
目次 |
パラメータ
| str | - | 参照するI/Oストリーム |
戻り値
str (操作後のストリームへの参照)。
例
#include <bitset> #include <iostream> #include <sstream> int main() { std::cout << "The number 42 in octal: " << std::oct << 42 << '\n' << "The number 42 in decimal: " << std::dec << 42 << '\n' << "The number 42 in hex: " << std::hex << 42 << '\n'; int n; std::istringstream("2A") >> std::hex >> n; std::cout << std::dec << "Parsing \"2A\" as hex gives " << n << '\n'; // the output base is sticky until changed std::cout << std::hex << "42 as hex gives " << 42 << " and 21 as hex gives " << 21 << '\n'; // Note: there is no I/O manipulator that sets up a stream to print out // numbers in binary format (e.g. bin). If binary output is necessary // the std::bitset trick can be used: std::cout << "The number 42 in binary: " << std::bitset<8>{42} << '\n'; }
出力:
The number 42 in octal: 52 The number 42 in decimal: 42 The number 42 in hex: 2a Parsing "2A" as hex gives 42 42 as hex gives 2a and 21 as hex gives 15 The number 42 in binary: 00101010
関連項目
|
整数I/Oで使用される基数を変更する
(関数) |
|
|
数値の基数を示す接頭辞を使用するかどうかを制御する
(関数) |