Justin1 发表于 2020-5-7 21:48:58

格式化输出问题

今天纠结的时候,发现C语言没有二进制格式化输出,这我就不理解了,C语言不是接近底层的语言吗?而且编译的时候会转化为汇编语言。
有人能解释下吗?猜想也可以

wp231957 发表于 2020-5-7 21:58:39

我们能看到的二进制都是字符串
真正的二进制,我们也看不到

jkluoling1992 发表于 2020-5-7 23:42:46

https://blog.csdn.net/dlyhlq/article/details/2097088
这篇博客介绍了c语言底层语言的原因,
https://blog.csdn.net/dongyunke/article/details/105772121
想输出二进制格式,自己写函数,位操作运算

skyddy 发表于 2020-5-8 09:19:18

本帖最后由 skyddy 于 2020-5-8 09:46 编辑

使用%#x就可以了

在c语言格式化字符串中以各种形式显示字符分别是
带符号十进制整数                                                                 %d
无符号的八进制整数                                                                 %o
无符号的十六进制整数                                                                 %x
无符号十进制整数                                                                 %u
显示字符串                                                                                %s
显示float类型                                                                                %f
显示double类型                                                                        %lf
显示long类型                                                                                %ld
显示long long类型                                                                 %lld
显示short类型                                                                        %hd
显示char类型                                                                                %c
显示sizeof 或strlen()返回值类型 size_t                                 %zd
以科学计数法显示浮点数                                                        %e
以p计数法显示浮点数和十六进制数                                        %a
显示指针                                                                                        %p
如果显示有数字        分别代表字符宽度和精度

以上可以组合        如:%hx

如果要显示前缀,如八进制前缀0,十六进制前缀0x,可使用%#o,%#x

Justin1 发表于 2020-5-8 14:35:48

skyddy 发表于 2020-5-8 09:19
使用%#x就可以了

在c语言格式化字符串中以各种形式显示字符分别是


那不是16进制吗

skyddy 发表于 2020-5-8 20:52:51

Justin1 发表于 2020-5-8 14:35
那不是16进制吗

没看清楚{:10_297:}
页: [1]
查看完整版本: 格式化输出问题