当前位置: 首页 > backend >正文

c++ 之 cout

1.进制转换

1. 1 进制转换

  • 默认十进制cout 默认输出十进制。
  • 十六进制:使用 hex 操纵符。
  • 八进制:使用 oct 操纵符。
  • 恢复十进制:使用 dec 操纵符。
#include <iostream>
using namespace std;int main() {int num = 30;cout << "十进制: " << num << endl;      // 输出 30cout << "十六进制: " << hex << num << endl;  // 输出 1ecout << "八进制: " << oct << num << endl;    // 输出 36cout << "恢复十进制: " << dec << num << endl; // 输出 30return 0;
}

1.2 显示进制前缀

使用 showbase 显示进制标识符:

  • 十六进制前缀 0x
  • 八进制前缀 0
#include <iostream>
using namespace std;int main() {int num = 30;cout << showbase;cout << "十六进制(带前缀): " << hex << num << endl; // 输出 0x1ecout << "八进制(带前缀): " << oct << num << endl;   // 输出 036return 0;
}

2. 设置输出宽度

2.1 设置输出宽度

使用 setw(n) 设置字段宽度(需包含 <iomanip> 头文件):

  • 仅影响下一个输出项
  • 默认右对齐,不足部分填充空格。
#include <iostream>
#include <iomanip>
using namespace std;int main() {cout << "宽度为5: " << setw(5) << 123 << endl; // 输出 "  123"return 0;
}

2.2 设置填充字符

使用 setfill(c) 设置填充字符:

  • 影响后续所有输出,直到再次更改。
#include <iostream>
#include <iomanip>
using namespace std;int main() {cout << setfill('0');cout << setw(5) << 123 << endl; // 输出 "00123"return 0;
}

2.3 对齐方式

  • 左对齐left
  • 右对齐right(默认)
#include <iostream>
#include <iomanip>
using namespace std;int main() {cout << left << setw(5) << 123 << endl;  // 输出 "123  "cout << right << setw(5) << 123 << endl; // 输出 "  123"return 0;
}

3. 组合使用

结合进制、宽度、填充和对齐:

#include <iostream>
#include <iomanip>
using namespace std;int main() {int num = 255;// 十六进制,宽度8,左对齐,填充'*',显示前缀cout << showbase << hex << left << setfill('*') << setw(8) << num << endl;// 输出 "0xff****"// 八进制,宽度6,右对齐,填充'0',显示前缀cout << showbase << oct << right << setfill('0') << setw(6) << num << endl;// 输出 "000377"return 0;
}
http://www.xdnf.cn/news/3897.html

相关文章:

  • 【形式化验证】动态逻辑(DL)的定义解释与示例
  • Docker 渡渡鸟镜像同步站 使用教程
  • 【PostgreSQL数据分析实战:从数据清洗到可视化全流程】2.5 事务与锁机制(ACID特性/事务控制语句)
  • 强化学习机器人模拟器——QAgent:一个支持多种强化学习算法的 Python 实现
  • cuDNN 9.9.0 便捷安装-Windows
  • 67. Java 嵌套类 - 详解内部类
  • Rust与C/C++互操作实战指南
  • 大型网站架构演化过程:从单体到分布式服务的全景解析
  • RR(Repeatable Read)级别如何防止幻读
  • 31.软件时序控制方式抗干扰
  • maven坐标导入jar包时剔除不需要的内容
  • C++类_协变返回类型
  • 【KWDB 创作者计划】_KWDB 性能优化与调优
  • redis的持久化
  • Spring的循环依赖问题
  • 工业认知智能:从数据分析到知识创造
  • 自由学习记录(58)
  • Android逆向学习(八)Xposed快速上手(上)
  • GitLab CI/CD变量使用完全指南
  • 修复笔记:SkyReels-V2 项目中的 torch.cuda.amp.autocast 警告和错误
  • 2025年- H24-Lc132-94. 二叉树的中序遍历(树)---java版。
  • 施磊老师rpc(四)
  • QT开发工具对比:Qt Creator、Qt Designer、Qt Design Studio
  • Redis 数据类型详解(一):String 类型全解析
  • RabbitMQ 深度解析:从核心组件到复杂应用场景
  • nt!MiSessionAddProcess函数分析和nt!MmSessionSpace全局变量的关系
  • DeepSeek Copilot idea插件推荐
  • 架构思维:使用懒加载架构实现高性能读服务
  • 运算放大器的主要技术指标
  • 【浅尝Java】变量与数据类型(含隐式类型转换、强制类型转换、整型与字符串互相转换等)