📜  C++中的std :: oct,std :: dec和std :: hex(1)

📅  最后修改于: 2023-12-03 14:39:57.632000             🧑  作者: Mango

C++中的std::oct、std::dec和std::hex

C++中的std::octstd::decstd::hex是3个I/O操纵符,用于在程序输入输出中控制数字的显示格式。这些操纵符可以用于更改std::cinstd::cout对象的格式标志。

std::oct

std::oct是一个I/O操纵符,用于将整数以八进制输出。我们可以使用std::oct将一个数字从十进制转换成八进制表示。

#include <iostream>

int main() {
    int num = 25;
    std::cout << "Decimal: " << num << std::endl;
    std::cout << "Octal: " << std::oct << num << std::endl;
    return 0;
}

输出:

Decimal: 25
Octal: 31

现在,数字25以八进制形式31输出。

std::dec

std::dec是一个I/O操纵符,用于将整数以十进制输出。当我们想要将输出格式修改回十进制时,可以使用std::dec

#include <iostream>

int main() {
    int num = 25;
    std::cout << "Octal: " << std::oct << num << std::endl;
    std::cout << "Decimal: " << std::dec << num << std::endl;
    return 0;
}

输出:

Octal: 31
Decimal: 25

现在,数字25以十进制格式输出。

std::hex

std::hex是一个I/O操纵符,用于将整数以十六进制输出。我们可以使用std::hex将数字从十进制转换为十六进制表示。

#include <iostream>

int main() {
    int num = 100;
    std::cout << "Decimal: " << num << std::endl;
    std::cout << "Hexadecimal: " << std::hex << num << std::endl;
    return 0;
}

输出:

Decimal: 100
Hexadecimal: 64

数字100以十六进制输出格式64输出。

除了这些,std::ios_base类还有其他有用的IO函数,如std::fixedstd::scientificstd::setprecision等来控制输出数字的格式和小数位数。记住,当我们使用I/O流操纵符时,需要包含头文件<iomanip>