📅  最后修改于: 2023-12-03 15:39:26.548000             🧑  作者: Mango
在C++中,头文件iomanip提供了一系列用于格式化输出的工具。其中setbase()函数用于设置将要被输出的数字的基数(进制)。
setbase()函数的语法如下:
setbase(int base);
其中,base参数表示要设置的进制,只能是8、10或16。
下面,我们来看一些setbase()函数的示例。
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
int num = 255;
cout << "十六进制输出: " << setbase(16) << num << endl;
cout << "八进制输出: " << setbase(8) << num << endl;
return 0;
}
这段代码将输出:
十六进制输出: ff
八进制输出: 377
通过setbase()函数,我们可以轻松地将十进制数转化为十六进制数或八进制数。
有时,我们需要输出一个带有前缀的数字,比如0x1234表示十六进制的1234。这时,我们可以使用setbase()函数来设置进制并输出对应的前缀。
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
int num = 4660;
cout << "十进制输出: " << num << endl;
cout << "十六进制输出: " << setbase(16) << "0x" << setw(4) << setfill('0') << num << endl;
cout << "八进制输出: " << setbase(8) << "0" << setw(6) << setfill('0') << num << endl;
return 0;
}
这段代码将输出:
十进制输出: 4660
十六进制输出: 0x1234
八进制输出: 00002234
其中,setw()函数用于设置输出宽度,setfill()函数用于设置空位的填充字符。
以上就是setbase()函数的介绍和示例。