C++-下面这个C函数中的打印参数是什么意思?
下面这个C函数中的printf函数的打印参数02bx是什么意思?求解释,谢谢!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
下面这个C函数中的printf函数的打印参数02bx是什么意思?求解释,谢谢!
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(3)
首先说明一下printf输出格式控制的完整表达如下:
% - 0 m.n l(h) 格式字符
其中:
1.%:表示格式说明的起始符号,不可缺少。
2.-:有-表示左对齐输出,如省略表示右对齐输出。
3.0:有0表示指定空位填0,如省略表示指定空位不填。
4.m指域宽,即对应的输出项在输出设备上所占的字符数。
5.n指精度。用于说明输出的实型数的小数位数。未指定n时,隐含的精度为n=6位。
6.l(h):l对整型指long型,对实型指double型。h用于将整型的格式字符修正为short型。
7.格式字符,包括:d格式,输出整数;o格式,输出无符号八进制整数;x格式,输出无符号十六进制整数;f格式,输出实数;c格式,输出单个字符等等一些列格式。
楼主所说的应该是应用在单片机C51上面的C语言的printf函数。
在单片机C51上的C语言的printf函数中,对格式字符加入了b(B),文档中对b的解释如下:
The optional characters b or B may immediately precede the type character to respectively specify char types for d, i, u, o, x, and X.
所以b(B)就是单字节输出。
综合起来,“02bx”的意思就是:输出占2位,空位填0,右对齐,输出单字节无符号十六进制整数。
02代表输出列宽为2,不足左边补0;
x代表是以无符号的16进制数字格式输出;
b代表的是单字节,bx结合使用表示的是输出单字节的16进制数。
这里有一个参考案例,可以看一下
一个比较完整的解释
%后面的02表示的意思是, 输出列宽为2,不足的在左边补0。x意思是以无符号的16进制数字格式输出,并以小写abcdef表示。'b' 就真心不知道什么意思了。
参考文献:http://baike.baidu.com/view/410546.htm