std :: oct, std :: dec и std :: hex в C ++
Эта функция используется для установки восьмеричного, десятичного или шестнадцатеричного основания. Он устанавливает флаг формата базового поля для потока str на указанную базу
std :: oct: Когда для базового поля задано восьмеричное, целочисленные значения, вставленные в поток, выражаются в восьмеричной системе счисления (т. е. с основанием 8). Для входных потоков также ожидается, что извлеченные значения будут выражены в восьмеричной системе счисления, если установлен этот флаг.
std :: hex: если для базового поля задано шестнадцатеричное значение, целочисленные значения, вставленные в поток, выражаются в шестнадцатеричной системе счисления (т. е. с основанием системы счисления 16). Для входных потоков также ожидается, что извлеченные значения будут выражены в шестнадцатеричной системе счисления, если установлен этот флаг.
Флаг формата базового поля может принимать десятичные значения (каждое со своим собственным манипулятором). Это манипулятор ввода-вывода. Его можно вызвать с помощью такого выражения, как out << std :: oct, std :: hex или std :: dec для любого типа вне std :: basic_ostream или с выражением
Синтаксис:
ios_base и шестнадцатеричный (ios_base & str); ул: Объект потока, чей флаг формата базового поля затронут. Возвращаемое значение: Вернуть расширенную строку, проанализированную в базовом десятичном формате, в базовое восьмеричное.
Примеры:
Вход : 54 Выход : октябрь - 66 дек - 54 шестигранник - 36
// CPP program to illustrate // std::oct, std::hex, std::dec #include <iostream> // std::cout, std::dec, std::hex, std::oct int main() { int n = 54; std::cout << std::oct << "oct - " << n << '
' ; std::cout << std::dec << "dec - " << n << '
' ; std::cout << std::hex << "hex - " << n << '
' ; return 0; } |
Выход:
октябрь - 66 дек - 54 шестигранник - 36