📜  C++中的ios操纵器showbase()函数(1)

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

C++中的ios操纵器showbase()函数

简介

C++中的showbase函数是一种输出控制符,它可以控制整数输出时是否带有进制前缀。该函数在 <iomanip>头文件中定义。

该函数将一个整数的进制前缀设置为输出后要显示的超字符串,因此除非使用操纵符noshowbase取消它,否则以后所有输出整数都将具有该前缀。

语法

函数声明如下:

  ios_base& showbase (ios_base& str);
使用方法

在C++中,我们可以使用cout对象来输出变量的值。例如:

#include <iostream> 
#include <iomanip>  
using namespace std; 

int main() 
{ 
    int n = 123; 
    cout << n << " " << hex << n << endl;

    return 0; 
} 

输出结果:

123 7b

将设置str的/showbase标志,使以后所有插入到str的值均有输出值以其基数进行呈现的前缀。 此标志已设置,则各呈现整数均具有前缀(0,0x或0X),分别表示一个、八进制或十六进制值。(strflags |= ios_base::showbase)。

示例:

#include <iostream> 
#include <iomanip>  
using namespace std; 

int main() 
{ 
    int n = 123; 
    cout << hex << showbase;
    cout << n << endl;

    return 0; 
} 

输出结果:

0x7b
注意事项

要使用 C 计算机科学的术语,“基数”是数字的基(例如,10进制系统的基数为10)。 我们可以按以下方式在C++中指定不同的基数:

  • 十六进制前缀:0x 或 0X
  • 八进制前缀:0
  • 十进制前缀:无

当使用showbase函数时,C++会自动在数字前添加适当的前缀。如果要取消这一设置,则可以使用noshowbase函数。

总结

showbase函数是一个用于输出控制的函数。在输出整数时,它允许我们指定是否带有进制前缀。使用showbase函数可以更方便的显示数字的基数。