首先必须知道u8,s8等数据类型的定义:

typedef signed char s8;
typedef unsigned char u8;  typedef signed short s16;
typedef unsigned short u16;  typedef signed int s32;
typedef unsigned int u32;  typedef signed long long s64;
typedef unsigned long long u64;  

与体系结构相关的,定义在include/linux/type.h文件中:

/* bsd */
typedef unsigned char       u_char;
typedef unsigned short      u_short;
typedef unsigned int        u_int;
typedef unsigned long       u_long;/* sysv */
typedef unsigned char       unchar;
typedef unsigned short      ushort;
typedef unsigned int        uint;
typedef unsigned long       ulong;#ifndef __BIT_TYPES_DEFINED__
#define __BIT_TYPES_DEFINED__typedef        __u8        u_int8_t;
typedef     __s8        int8_t;
typedef     __u16       u_int16_t;
typedef     __s16       int16_t;
typedef     __u32       u_int32_t;
typedef     __s32       int32_t;#endif /* !(__BIT_TYPES_DEFINED__) */typedef        __u8        uint8_t;
typedef     __u16       uint16_t;
typedef     __u32       uint32_t;#if defined(__GNUC__)
typedef     __u64       uint64_t;
typedef     __u64       u_int64_t;
typedef     __s64       int64_t;

对于各种数据类型的打印方式总结如下如下:

数据类型 打印格式
u8 %d
s8 %d
u16 %d or %hu
s16 %d or %hd
u32 %u
s32 %d
u64 %llu
s64 %lld
int %d
unsigned int %u
short int %d or %hd
long %ld
unsigned long %lu
long long %lld
unsigned long long %llu
char %c
char * %s
bool (#define stdbool.h) %d
unsigned int/int------>十六进制 %0x
unsigned long/long---->十六进制 %0lx
long long/unsigned long long ----->十六进制 %0llx
unsigned int/int------>八进制 %0o
unsigned long/long---->八进制 %0lo
long long/unsigned long long ----->八进制 %0llo
float %f
double %f or %lf
科学技术类型(必须转化为double类型) %e
限制输出字段宽度 %x.yf (x:整数长度,y:小数点长度)

待解问题,在linux kernel里面也有使用bool来定义变量,查看code,定义如下:

typedef _Bool           bool;

但是并没有真正找到具体定义在何处,待解。下面是stdbool.h的source code:


#define _STDBOOL_H#ifndef __cplusplus#define bool   _Bool
#define true    1
#define false   0#else /* __cplusplus *//* Supporting _Bool in C++ is a GCC extension.  */
#define _Bool   bool#if __cplusplus < 201103L
/* Defining these macros in C++98 is a GCC extension.  */
#define bool    bool
#define false   false
#define true    true
#endif#endif /* __cplusplus *//* Signal that all the definitions are present.  */
#define __bool_true_false_are_defined   1#endif /* stdbool.h */

也大致解释了linux kernel bool type了。
如果大家有兴趣,可以扫码关注我的个人公众号:

C 语言printf打印各种数据类型的方法(u8/s8/u16/s16.../u64/double/float)(全)相关推荐

  1. c语言 u16 printf,C 语言printf打印各种数据类型的方法(u8/s8/u16/s16.../u64/double/float)(全)...

    u16 首先必须知道u8,s8等数据类型的定义: typedef signed char s8; typedef unsigned char u8; typedef signed short s16; ...

  2. linux u8 u16 u32 u64,C 语言printf打印各种数据类型的方法(u8/s8/u16/s16.../u64/doub

    C 语言printf打印各种数据类型的方法(u8/s8/u16/s16.../u64/doub C 语言printf打印各种数据类型的方法(u8/s8/u16/s16.../u64/double/fl ...

  3. C语言printf打印的奥秘

    基础补充 想完全掌握C语言的 printf() 函数,你就得明白C语言中的基本类型及其所占字节数. 位.字节.字的概念大家自己百度了解.下面我只给其关系: 8位 = 1字节 2字节 = 1字 代码示例 ...

  4. c语言printf打印字符串,puts()vs printf()用于以C语言打印字符串

    函数puts()和printf()在stdio.h头文件中声明,用于将文本发送到输出流.两者都有不同的用法和语法. puts() 该函数puts()用于在输出流上打印带有附加换行符'\ n'的字符串. ...

  5. c语言printf打印浮点型,printf以%d输出浮点数

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 曾看到printf的一道题,挺有意思,记录一下. float value = 1.0; printf('value_int = %dn', value); ...

  6. C语言-printf打印的用法

    printf函数的一般格式为: printf(格式控制,输出表列) 例如: printf("%d,%c\n",i,c) 括号内包含两部分: "格式控制"是用双撇 ...

  7. c语言 printf打印字符串

    格式输出 %s直接打印 %-5.3s :小数点前数字表示对齐数,±表示左右对齐,小数点后数字表示打印几位 #include<iostream> using namespace std;in ...

  8. C语言-printf打印%*s、%.*s与%-.*s的区别

    一.简介 在平时的使用中,会经常使用到printf进行打印,而最长使用的方式是printf("%s",string)进行打印.但是有个问题,如果string结尾不是0.那么prin ...

  9. C语言printf 打印十六进制数字0x01

    串口打印调试信息,有一段为输出十六进制地址的打印,%x输出显示为:0x1,而不是0x01,因此找到解决的方式如下:改为:%02x即可. 代码段如: printf("\r\n 本机的标准ID号 ...

最新文章

  1. 2022-2028中国工作服市场现状及未来发展趋势
  2. 视频|深度相机与应用
  3. Flutter持久化存储之文件存储
  4. 1.2.2 OSI参考模型
  5. elasticsearch-5.0.0初见
  6. Mac下一台电脑管理多个SSH KEY(转)
  7. 怎么用命令启动服务器文件,linux启动服务器命令
  8. 从gbdt到xgboost
  9. Python注释和声明
  10. 阿里巴巴Aliware十年微服务架构演进历程中的挑战与实践
  11. 使用非参数统计检验进行分析的指南
  12. python中的函数(全)
  13. Linux下测试sdio,浅析Linux下sdio接口对sd卡硬件检测流程
  14. 《系统集成项目管理》第九章 项目成本管理
  15. php 电子签字,电子签名和电子签字的区别
  16. 「LOJ6198」谢特-SA+可持久化Trie+启发式分裂
  17. 2019微博热点,盘一盘那些记忆中的大瓜
  18. 大数据可视化(六)文本数据可视化
  19. 人工智能ai换脸技术_人工智能技术如何帮助企业改善营销
  20. 素数筛(筛选法求素数)

热门文章

  1. 【题目】NKOJ-4247 老蒋的数列
  2. Axure 制作验证码交互
  3. [Unity实践笔记] 俯视视角人物360°移动脚本
  4. asp.net引用System.Speech实现语音提示
  5. 黑群晖二合一安装不了套件_玩PT还是得安装transmission,星际蜗牛安装黑群晖制作家用NAS...
  6. 巴菲特50年投资之道
  7. XSLT基础 XSL 与 XSLT
  8. 滤波器频率响应的归一化
  9. 公开课发布:《SQL开发中容易被忽略的BUG》by郑老师
  10. 如何写出优秀的单元测试