C++中使用cout以hex格式输出方式

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

C++中使用cout以hex格式输出方式

qq_36208201   2022-11-10 我要评论

使用cout以hex格式输出

cout << "0x"<< hex << setiosflags(ios::uppercase) << setfill('0') << setw(2) << (int)10 << endl;

其中hex设置以16进制输出

  • setiosflags(ios::uppercase) 设置16进制数大写输出

setiosflags各参数定义

  • setiosflags(ios::fixed) 固定的浮点显示 
  • setiosflags(ios::scientific) 指数表示 
  • setiosflags(ios::left) 左对齐 
  • setiosflags(ios::right) 右对齐 
  • setiosflags(ios::skipws 忽略前导空白 
  • setiosflags(ios::uppercase) 16进制数大写输出 
  • setiosflags(ios::lowercase) 16进制小写输出 
  • setiosflags(ios::showpoint) 强制显示小数点 
  • setiosflags(ios::showpos) 强制显示符号 
  • setfill('0') 设置其他字符填充 如果输出字符的宽度不够 则以设置的字符输出

setw(2)设置输出宽度,如果宽度设置为3 则输出0x00A

PS:

最后的强转int:有资料说明cout << hex 只对整数有效 但是我在VS上不对数值进行强转也能以16进制输出

C++ cout的一些格式化输出

#include <iostream>
#include <iomanip>
 
using std::cout;
using std::endl;
 
int main(int argc,char *argv[],char *envp[])
{
    cout<<1234567890<<endl;
    cout<<std::setiosflags(std::ios_base::right)<<std::setw(20)<<std::setfill(' ')<<1234567890<<endl;
    cout.imbue(std::locale("english"));
    cout<<1234567890<<endl;
    cout.unsetf(cout.flags());
 
    cout<<std::showbase<<std::hex<<1234567890<<endl;
    cout.unsetf(cout.flags());
    return 0;
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们