C学习:整型数据格式化输出控制的细节

本文详细介绍了C语言中整型数据的格式化输出控制,包括位宽(h,l,ll)、进制(o,x,d,u)和符号控制。例如,%hd用于8位有符号整数,%hu用于16位无符号整数,%llx用于64位无符号十六进制数。文章还强调了8位位宽没有单独控制符,以及不同整数类型的打印格式,如%d,%u,%lx等,并推荐参考《C程序设计语言》进一步学习。
摘要由CSDN通过智能技术生成

C学习:整型数据格式化输出控制的细节

本文小结平常C语言编程中遇到的整型数据格式化输出控制知识,留个笔记方便查阅。

原理规则


  • 位宽控制
    • h, l, ll 分别指定位宽:16位,32位,64位
  • 进制控制
    • o, x, d, u分别决定进制:八进制、十六进制、十进制、十进制
  • 符号控制
    • u, d分别决定十进制里的符号位,u为无符号数,d为有符号数
  • 排序规则
    • 位宽+进制+符号,如输出16位十进制无符号数:%hu

补充说明:

  • 无8位的位宽控制符,8位位宽的数字统一扩展成高位输出
  • o/O, X/x控制八或十六进制的大小写输出。输出前缀可自行加上相应的0x/0X以区分
  • 十六进制、二进制、八进制统一按无符号输出,若为有符号数,按首位去解读

常用例子


总结如下表:

位宽进制符号格式化控制
8位十进制%hd
8位十六进制-%hx
16位十进制%hd
16位十进制%hu
16位十六进制-%hx
32位十进制%d or %ld
32位十进制%u or %lu
32位十六进制-%x or %lx
64位十进制%lld
64位十进制%llu
64位十六进制-%llx

部分说明

  • 8位位宽的数字,无单独的输出控制符,可以按16位/32位的方式指定扩展输出。若为8位的字符,则用%c输出。
  • 32位的数字输出可以不加修饰符l,进制符u/d/x默认32位输出。

具体不同整数类型打印格式应用:

  • int %d unsigned int %u
  • long %ld unsigned long %lu
  • long long %lld unsigned long long %llu

更多进阶内容,请查阅书籍:《C程序设计语言》。

相关文章


  1. C学习:%p和%x、%lx、%hx、%llx区别辨析,link
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值