空间网站大全,江苏省建是国企吗,app软件系统定制开发,公众号推文模板常用网名: 猪头三 出生日期: 1981.XX.XX 企鹅交流: 643439947 个人网站: 80x86汇编小站 编程生涯: 2001年~至今[共24年] 职业生涯: 22年 开发语言: C/C、80x86ASM、PHP、Perl、Objective-C、Object Pascal、C#、Python 开发工具: Visual Studio、Delphi、XCode、Eclipse、C Bui…常用网名: 猪头三 出生日期: 1981.XX.XX 企鹅交流: 643439947 个人网站: 80x86汇编小站 编程生涯: 2001年~至今[共24年] 职业生涯: 22年 开发语言: C/C、80x86ASM、PHP、Perl、Objective-C、Object Pascal、C#、Python 开发工具: Visual Studio、Delphi、XCode、Eclipse、C Builder 技能种类: 逆向 驱动 磁盘 文件 研发领域: Windows应用软件安全/Windows系统内核安全/Windows系统磁盘数据安全/macOS应用软件安全 项目经历: 磁盘性能优化/文件系统数据恢复/文件信息采集/敏感文件监测跟踪/网络安全检测
[序言] 在C的输入输出操作中, 流(stream)是一个重要的概念. 标准库提供了std::cout(用于标准输出)和std::cin(用于标准输入), 它们是基于流的输入输出方式. 对于格式化输出, C提供了一系列操纵符(Manipulator), 可以用来控制数据的显示格式, 如进制转换、对齐、精度控制等. 现代C引入了更多的功能, 如 std::bitset 处理二进制数, 以及更灵活的浮点数格式化方法.
[代码示例] 下面是一个演示如何使用现代C进行流格式化的代码片段
#include iostream
#include iomanip
#include bitsetint main()
{// 10进制, 8进制, 16进制输出std::wcout std::dec 10 L std::oct 10 L std::hex 10 std::endl;// 2进制表示std::bitset32 binary(10);std::wcout binary std::endl;// 浮点格式化 方法1使用 std::fixed 和 std::setprecisiondouble double_pi{ 3.14159265358979323846 };std::wcout std::fixed std::setprecision(4) double_pi std::endl;// 浮点格式化 方法2使用 precision 方法std::wcout.precision(3);std::wcout double_pi std::endl;return 0;
}
1 整数进制格式化
std::dec将数值按十进制格式化. std::oct将数值按八进制格式化. std::hex将数值按十六进制格式化.
2 二进制格式化
std::bitset32 binary(10); 创建了一个大小为32位的二进制表示,值为10. 直接std::wcout binary; 会输出10的二进制表示 00000000000000000000000000001010.
3 浮点数格式化
std::fixed指定浮点数输出使用定点格式,而非科学计数法. std::setprecision(n)控制小数点后的精度. std::wcout.precision(3); 直接修改流的默认精度设置.
[总结] 本篇文章介绍了C流格式化的基础用法, 包括整数的进制转换、二进制格式化, 以及浮点数的格式化控制. C 提供了丰富的流操纵符, 可以更加灵活地控制输出格式, 从而提高代码的可读性和可维护性. 合理使用这些格式化方式, 可以使终端输出更加直观和美观, 提升用户体验.