[牛人杂谈]

二进制数、八进制数和十六进制数的输出

[复制链接]
381|21
手机看帖
扫描二维码
随时随地手机跟帖
玛尼玛尼哄|  楼主 | 2023-2-13 21:57 | 显示全部楼层 |阅读模式
语言中常用的整数有 short、int 和 long 三种类型,通过 printf 函数,可以将它们以八进制、十进制和十六进制的形式输出。上节我们讲解了如何以十进制的形式输出,这节我们重点讲解如何以八进制和十六进制的形式输出,下表列出了不同类型的整数、以不同进制的形式输出时对应的格式控制符:
6623463ea41d34091a.png
十六进制数字的表示用到了英文字母,有大小写之分,要在格式控制符中体现出来:
%hx、%x 和 %lx 中的x小写,表明以小写字母的形式输出十六进制数;
%hX、%X 和 %lX 中的X大写,表明以大写字母的形式输出十六进制数。

八进制数字和十进制数字不区分大小写,所以格式控制符都用小写形式。如果你比较叛逆,想使用大写形式,那么行为是未定义的,请你慎重:
有些编译器支持大写形式,只不过行为和小写形式一样;
有些编译器不支持大写形式,可能会报错,也可能会导致奇怪的输出。
注意,虽然部分编译器支持二进制数字的表示,但是却不能使用 printf 函数输出二进制,这一点比较遗憾。当然,通过转换函数可以将其它进制数字转换成二进制数字,并以字符串的形式存储,然后在 printf 函数中使用%s输出即可。


使用特权

评论回复
按权相加法  除基取余法  乘基取整法

使用特权

评论回复
AdaMaYun| | 2023-2-24 14:40 | 显示全部楼层
八进制计算机比较常见,十六进制用来表示二进制比较方便

使用特权

评论回复
zhuotuzi| | 2023-2-25 20:00 | 显示全部楼层
八进制没用过,都是用16进制,10进制。

使用特权

评论回复
捉虫天师| | 2023-2-28 09:47 | 显示全部楼层
我只用过16进制,10进制的。

使用特权

评论回复
szt1993| | 2023-2-28 11:37 | 显示全部楼层
八进制早期计算机中比较常见

使用特权

评论回复
LOVEEVER| | 2023-2-28 14:41 | 显示全部楼层
我也没用过八进制

使用特权

评论回复
中国龙芯CDX| | 2023-2-28 14:41 | 显示全部楼层
现在基本都是用2进制、10进制和16进制的

使用特权

评论回复
2 10 16 用的多,8的没用过

使用特权

评论回复
AloneKaven| | 2023-3-1 19:46 | 显示全部楼层
没怎么见过8进制应用场景

使用特权

评论回复
tpgf| | 2023-3-7 15:09 | 显示全部楼层
我们在什么情况下应用八进制的数据呢

使用特权

评论回复
wakayi| | 2023-3-7 15:19 | 显示全部楼层
估计只有在特定的场合会使用八进制的数据

使用特权

评论回复
wowu| | 2023-3-7 15:41 | 显示全部楼层
在航空电子设备中,ARINC 429字标签几乎总是以八进制表示

使用特权

评论回复
xiaoqizi| | 2023-3-7 16:00 | 显示全部楼层
一般情况下我们使用八进制的数据还是都比较慎重的

使用特权

评论回复
木木guainv| | 2023-3-7 16:26 | 显示全部楼层
有一些地方,Windows和javascript自动决定前缀为零的数字是八进制并转换数字

使用特权

评论回复
磨砂| | 2023-3-7 16:38 | 显示全部楼层
最一开始的时候八进制的数据是在什么情况下产生的呢

使用特权

评论回复
averyleigh| | 2023-3-11 21:47 | 显示全部楼层
字符串转整数,需要把代码转换过来吗?

使用特权

评论回复
sdlls| | 2023-3-14 10:31 | 显示全部楼层
如果使用串口,最坑的还是汉字的              

使用特权

评论回复
mmbs| | 2023-3-14 10:59 | 显示全部楼层
直接输出16进制就行。              

使用特权

评论回复
louliana| | 2023-3-14 11:26 | 显示全部楼层
在 printf 函数中这些都是必须要用的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则