玛尼玛尼哄 发表于 2023-2-13 21:57

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

语言中常用的整数有 short、int 和 long 三种类型,通过 printf 函数,可以将它们以八进制、十进制和十六进制的形式输出。上节我们讲解了如何以十进制的形式输出,这节我们重点讲解如何以八进制和十六进制的形式输出,下表列出了不同类型的整数、以不同进制的形式输出时对应的格式控制符:

十六进制数字的表示用到了英文字母,有大小写之分,要在格式控制符中体现出来:
%hx、%x 和 %lx 中的x小写,表明以小写字母的形式输出十六进制数;
%hX、%X 和 %lX 中的X大写,表明以大写字母的形式输出十六进制数。

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


小夏天的大西瓜 发表于 2023-2-14 08:45

按权相加法除基取余法乘基取整法

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进制的

小小蚂蚁举千斤 发表于 2023-2-28 15:32

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 函数中这些都是必须要用的。
页: [1] 2
查看完整版本: 二进制数、八进制数和十六进制数的输出