浅析uint8_t / uint16_t / uint32_t /uint64_t

浅析uint8_t / uint16_t / uint32_t /uint64_t简单来说 uint8 t uint16 t uint32 t uint64 t 这些数据类型都只是别名而来 具体如下 一 C 语言数据基本类型在 C 语言中有 6 种基本数据类型 short int long float double char1 整型 shortint int longint2 浮点型 float double3 字符类型 char 二 分析 uint8

简单来说,uint8_t / uint16_t / uint32_t /uint64_t这些数据类型都只是别名而来,具体如下:

一、C语言数据基本类型

在C语言中有6种基本数据类型:short、int、long、float、double、char

1)整型:short  int、int、long int

2)浮点型:float、double

3)字符类型:char


二、分析uint8_t\uint_16_t\uint32_t\uint64_t

1、数据来源:这些数据类型中都带有_t, _t 表示这些数据类型是通过typedef定义的,而不是新的数据类型。也就是说,它们其实是我们已知的类型的别名。

2、typedef:typedef用来定义关键字或标识符的别名

3、使用原因:方便代码的维护。比如,在C中没有bool型,于是在一个软件中,一个程序员使用int,一个程序员使用short,会比较混乱,最好用一个typedef来定义一个统一的bool,每个程序员都可以用这个别名的bool。

不同的平台会有不同的字长,所以利用预编译和typedef可以方便的维护代码。

typedef unsigned char uint8_t;//将uint8_t别名为无符号字符型

4、定义:在C99标准中定义了这些数据类型,具体定义在:stdint.h中

浅析uint8_t / uint16_t / uint32_t /uint64_t

定义类型如下:

typedef signed char int8_t; typedef signed short int int16_t; typedef signed int int32_t; typedef signed __INT64 int64_t; /* exact-width unsigned integer types */ typedef unsigned char uint8_t; typedef unsigned short int uint16_t; typedef unsigned int uint32_t; typedef unsigned __INT64 uint64_t; /* 7.18.1.2 */ /* smallest type of at least n bits */ /* minimum-width signed integer types */ typedef signed char int_least8_t; typedef signed short int int_least16_t; typedef signed int int_least32_t; typedef signed __INT64 int_least64_t; /* minimum-width unsigned integer types */ typedef unsigned char uint_least8_t; typedef unsigned short int uint_least16_t; typedef unsigned int uint_least32_t; typedef unsigned __INT64 uint_least64_t; /* 7.18.1.3 */ /* fastest minimum-width signed integer types */ typedef signed int int_fast8_t; typedef signed int int_fast16_t; typedef signed int int_fast32_t; typedef signed __INT64 int_fast64_t; /* fastest minimum-width unsigned integer types */ typedef unsigned int uint_fast8_t; typedef unsigned int uint_fast16_t; typedef unsigned int uint_fast32_t; typedef unsigned __INT64 uint_fast64_t; /* 7.18.1.4 integer types capable of holding object pointers */ #if __sizeof_ptr == 8 typedef signed __INT64 intptr_t; typedef unsigned __INT64 uintptr_t; #else typedef signed int intptr_t; typedef unsigned int uintptr_t; #endif /* 7.18.1.5 greatest-width integer types */ typedef signed __LONGLONG intmax_t; typedef unsigned __LONGLONG uintmax_t;

5、格式化输出:

1)uint16_t %hu

2)uint32_t %u

3)uint64_t %llu

6、uint8_t类型的输出:

typedef unsigned char uint8_t;//将uint8_t别名为无符号字符型 uint8_t buf = 65; printf("buf = %d",buf);//错误 printf("buf = %c",buf);//正确,打印出字符的ASCII码

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/198570.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午2:54
下一篇 2026年3月26日 下午2:55


相关推荐

  • coze智能体的id在哪里

    coze智能体的id在哪里

    2026年3月13日
    2
  • Java安全之Cas反序列化漏洞分析

    Java安全之Cas反序列化漏洞分析0x00前言某次项目中遇到Cas,以前没接触过,借此机会学习一波。0x01Cas简介CAS是Yale大学发起的一个开源项目,旨在为Web应用

    2021年12月13日
    77
  • python自动补全设置_python自动缩进快捷键

    python自动补全设置_python自动缩进快捷键Hello,大家好,我是橘子呀~前几期橘子给大家介绍了Python是什么以及如何安装Python软件。也分享了如何系统的以及高效率的去学习Python这门课程,还有一些避雷建议,今天橘子就分享给大伙一点宝藏干货!!!藏不住的东西,不如扬了它!请大家把它收入囊中~不要辜负我的一片苦心~一、Pycharm常用快捷键(Windows)Ctrl+Q快速查看文档Ctrl+鼠标左键简介及代码定义…

    2022年8月27日
    4
  • 解决ModuleNotFoundError: No module named ‘pip‘问题

    解决ModuleNotFoundError: No module named ‘pip‘问题Python学习遇到小问题:ModuleNotFoundError:Nomodulenamed‘pip’今天想要装一下wxPython第三方库来写一下Python的GUI的时候发现cmd窗口下无法执行pip命令,想了想昨晚好像是pip命令行提示了我有新版本可以更新使用,更新之后也不成功,但昨晚没有怎么理会,以为没事,但今早起来一看发现pip命令都用不了了,出现了ModuleNotFoun…

    2022年6月12日
    33
  • HTTP与HTTPS的区别,详细介绍[通俗易懂]

    HTTP与HTTPS的区别,详细介绍[通俗易懂]目录HTTP与HTTPS介绍HTTPS和HTTP的主要区别客户端在使用HTTPS方式与Web服务器通信时的步骤CA证书的申请及其使用过程HTTPS的缺点SSL与TLS的区别?SSL/TLS历史SSL/TLS协议的基本过程HTTPS涉及的计算环节如何优化HTTPS的速度HTTP与HTTPS介绍超文本传输协议HTTP协议被用于在We…

    2022年6月14日
    43
  • ToF相机从Camera2 API中获取DEPTH16格式深度图[通俗易懂]

    ToF相机从Camera2 API中获取DEPTH16格式深度图[通俗易懂]ToF相机工作原理:ToF相机给目标连续发送光脉冲,然后用传感器接收从物体返回的光,通过探测光脉冲往回的飞行时间来得到目标距离。ToF相机可以同时得到整幅图像的深度(距离)信息。  深度图通常是灰度图,其中的每个值代表光反射表面和相机的距离。灰度图水平垂直坐标对应像素点位置,该位置的灰度值对应的是该像素距离摄像头的距离。所以深度图中的每个像素可以表示空间中一个点的三维坐标。如果光源被吸收或者未收到反射信号则呈现黑色。从Camera2API中获取DEPTH16格式的深度信息ImageFormat.DE

    2022年5月10日
    64

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号