【ARM 嵌入式 C 头文件系列 22 -- 头文件 stdint.h 介绍】


请阅读【嵌入式开发学习必备专栏 】


文章目录

    • C 头文件 stdint.h
      • 定长整数类型
      • 最小宽度整数类型
      • 最快最小宽度整数类型
      • 整数指针类型
      • 最大整数类型

C 头文件 stdint.h

在 C 语言中,头文件 <stdint.h> 是 C99 标准的一部分,旨在提供一组明确的整数类型,其大小不受特定系统架构(32位、64位等)影响。这允许程序员编写更可移植的代码,因为他们可以明确指定所需的整数大小和有符号性。
这个头文件定义了以下类型:

定长整数类型

  • int8_t, int16_t, int32_t, int64_t: 分别代表至少8、16、32、64位的有符号整数。
  • uint8_t, uint16_t, uint32_t, uint64_t: 分别代表至少8、16、32、64位的无符号整数。

最小宽度整数类型

  • int_least8_t, int_least16_t, int_least32_t, int_least64_t: 分别代表至少8、16、32、64位的最小有符号整数。
  • uint_least8_t, uint_least16_t, uint_least32_t, uint_least64_t: 分别代表至少8、16、32、64位的最小无符号整数。

最快最小宽度整数类型

  • int_fast8_t, int_fast16_t, int_fast32_t, int_fast64_t: 选择最快的类型,该类型至少能够存储8、16、32、64位的有符号整数。
  • uint_fast8_t, uint_fast16_t, uint_fast32_t, uint_fast64_t: 选择最快的类型,该类型至少能够存储8、16、32、64位的无符号整数。

整数指针类型

  • intptr_t: 一个有符号整数类型,其大小足以存储指针。
  • uintptr_t: 一个无符号整数类型,其大小足以存储指针。

最大整数类型

  • intmax_t: 能够表示任何有符号整数的最大类型。
  • uintmax_t: 能够表示任何无符号整数的最大类型。

此外,<stdint.h> 还定义了一组宏,这些宏用于指定整数类型的常量。例如:

  • INT8_MAX, INT16_MAX, INT32_MAX, INT64_MAX: 分别代表 int8_t, int16_t, int32_t, int64_t 能够存储的最大值。
  • UINT8_MAX, UINT16_MAX, UINT32_MAX, UINT64_MAX: 分别代表 uint8_t, uint16_t, uint32_t, uint64_t 能够存储的最大值。
  • INT8_MIN, INT16_MIN, INT32_MIN, INT64_MIN: 分别代表 int8_t, int16_t, int32_t, int64_t 能够存储的最小值(负值)。
  • INT_LEAST8_MIN, INT_LEAST16_MIN, INT_LEAST32_MIN, INT_LEAST64_MIN: 分别代表 int_least8_t, int_least16_t, int_least32_t, int_least64_t 能夜存储的最小值。
  • INT_LEAST8_MAX, INT_LEAST16_MAX, INT_LEAST32_MAX, INT_LEAST64_MAX: 分别代表 int_least8_t, int_least16_t, int_least32_t, int_least64_t 能够存储的最大值。
  • INT_FAST8_MIN, INT_FAST16_MIN, INT_FAST32_MIN, INT_FAST64_MIN: 以及相应的最大值宏。

使用 <stdint.h> 可以让代码在不同平台间更可靠地保持行为一致,因为可以根据需要选择恰当的整数类型。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/789672.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux如何让alias自定义命令永久生效?

要让别名(alias)永久有效,您可以将它们添加到您的 bash 配置文件中。在大多数情况下,这个文件是 ~/.bashrc 或 ~/.bash_profile。 目录 1、打开终端或SSH连接到您的服务器。 2、编辑bash配置文件

Docker之ruoyi-vue项目部署

文章目录 创建自定义网络安装redis安装mysql发布若依项目--后端使用Dockerfile自定义镜像运行容器 nginx 创建自定义网络 #搭建net-ry局域网&#xff0c;用于部署若依项目 docker network create net-ry --subnet172.68.0.0/16 --gateway172.68.0.1 注意1&#xff1a;关闭宿主…

gateway应用(1)

1 简介 简单理解---业务服务的统一入口&#xff0c;方便实现&#xff0c;服务路由&#xff0c;安全&#xff0c;限流&#xff0c;过滤&#xff0c;黑白名单&#xff0c;证书加密解密&#xff0c;服务降级/熔断&#xff0c;灰度&#xff0c;等等 2 介绍 Predicate&#xff08…

AI技术创业有哪些机会?

AI技术创业有哪些机会&#xff1f; 目录 AI技术创业有哪些机会&#xff1f;1. 机器学习和数据分析平台&#xff1a;2. 智能客服和聊天机器人&#xff1a;3. 人脸识别和生物特征识别&#xff1a;4. 自动驾驶技术&#xff1a;5. 智能家居和物联网&#xff1a;6. 医疗诊断和健康管…

数据仓库——特殊类型的星型模式

数据仓库基础笔记思维导图已经整理完毕&#xff0c;完整连接为&#xff1a; 数据仓库基础知识笔记思维导图 特殊类型的星型模式 通过维度表示的事物通常可以按照类别或者类型细分。有时想要在维度表中记录的属性类型是多样的。 尽管类型相同&#xff0c;但是却存在很大差别。…

荣誉 | 人大金仓连续三年入选“金融信创优秀解决方案”

3月28日&#xff0c;由中国人民银行领导&#xff0c;中国金融电子化集团有限公司牵头组建的金融信创生态实验室发布“第三期金融信创优秀解决方案”&#xff0c;人大金仓新一代手机银行系统解决方案成功入选&#xff0c;这也是人大金仓金融行业解决方案连续第三年获得用户认可。…

LabVIEW齿轮箱噪声监测系统

LabVIEW齿轮箱噪声监测系统 齿轮箱作为机械设备的“心脏”&#xff0c;其健康状态对设备的性能有着重要的影响。传统的齿轮箱监测方法依赖于直接的振动信号分析&#xff0c;但这种方法不仅成本高昂&#xff0c;而且在安装和拆卸过程中可能对设备造成损害。针对这些问题&#x…

CMake解析

二 CMake解析 2.1 各种可用变量 CMake语法指定了许多变量,可用于帮助您在项目或源代码树中找到有用的目录。 其中一些包括: VariableInfoCMAKE_SOURCE_DIR根源代码目录,工程顶层目录。暂认为就是PROJECT_SOURCE_DIRCMAKE_CURRENT_SOURCE_DIR当前处理的 CMakeLists.txt 所在…

filetype: python中判断图像格式库imghdr替代库

引言 imghdr库是python中的一个内置库&#xff0c;用来判断图像原本格式的。自己一直有在用&#xff0c;不过近来看到这个库在python 3.13中会被移除。 自己感觉一直被python版本赶着走。这不找了好久&#xff0c;才找到一个替代库–filetype Python各个版本将要移除和可替代…

【Rust】——使用迭代器处理元素序列

&#x1f4bb;博主现有专栏&#xff1a; C51单片机&#xff08;STC89C516&#xff09;&#xff0c;c语言&#xff0c;c&#xff0c;离散数学&#xff0c;算法设计与分析&#xff0c;数据结构&#xff0c;Python&#xff0c;Java基础&#xff0c;MySQL&#xff0c;linux&#xf…

Kubernetes控制器(四)______StatefulSet

控制器介绍 StatefulSet&#xff1a; 是Kubernetes中用于管理有状态应用的控制器。与Deployment不同&#xff0c;StatefulSet用于部署和管理需要持久标识、有序部署和唯一网络标识的 Pod。典型的用例包括数据库、缓存和队列等有状态应用。&#xff08;有状态服务&#xff1a;单…

分享几个好用的电商API接口(可测试)

以下是一些好用的电商API接口&#xff0c;这些接口都可以用于获取电商平台的商品、订单、物流等相关信息&#xff0c;并提供了测试功能以确保接口的稳定性和可用性&#xff1a; 请求示例&#xff0c;API接口接入Anzexi58 淘宝开放平台API&#xff1a;淘宝开放平台提供了丰富的…

Keil 警告解决 : warning: #870-D: invalid multibyte character sequence

说明&#xff1a;在Keil项目编译时出现了几个 warning: #870-D: 的警告&#xff0c;接下来分析解决这个警告。 注意&#xff1a;在尝试解决问题前一定要将整个工程打包成压缩文件备份&#xff0c;以防更改失败变文件成乱码。 1.警告内容 warning: #870-D: warning: #870-…

2024.2.27力扣每日一题——统计树中的合法路径数目

2024.2.27 题目来源我的题解方法一 埃氏筛深度优先遍历 题目来源 力扣每日一题&#xff1b;题序&#xff1a;2867 我的题解 方法一 埃氏筛深度优先遍历 分别以质数节点为根&#xff0c;用「深度优先搜索」的方式&#xff0c;递归搜索所有的非质数的子树&#xff0c;并求出所…

Android Monkey自动化测试

monkey一般用于压力测试&#xff0c;用户模拟用户事件 monkey 基本用法 adb shell monkey [参数] [随机事件数]monkey常用命令 -v&#xff1a;用于指定反馈信息级别&#xff0c;总共分三个等级-v -v -vadb shell mokey -v -v -v 100-s&#xff1a;用于指定伪随机数生成器的种…

CentOS7安装flink1.17完全分布式

前提条件 准备三台CenOS7机器&#xff0c;主机名称&#xff0c;例如&#xff1a;node2&#xff0c;node3&#xff0c;node4 三台机器安装好jdk8&#xff0c;通常情况下&#xff0c;flink需要结合hadoop处理大数据问题&#xff0c;建议先安装hadoop&#xff0c;可参考 hadoop安…

impnt只读,燕用,必填,提示词(占位符)属性分别是什么

readonly 属性规定输入字段为只读&#xff08;不能修改&#xff09; <input type"text" placeholder"点我啊" readonly/> disabled 属性规定输入字段是禁用的 <input type"text" placeholder"点我啊" disabled/> re…

XXLJob中GLUE模式实现在线编写java/shell/python/php/nodejs/powerShell---SpringCloud工作笔记202

1.起因: 之前就一直想实现类似的功能,今天总于找到有可以参考的东西了,这个思路可以帮助实现这种功能. 2.获得灵感 就是:我想实现通过在线编写代码,来扩展我们平台的能力,这样随着业务的扩展,不用我们每次都修改了代码,再去部署,这样就比较麻烦,今天偶尔发现,对于xxljob来说.有…

OSCP靶场--ProStore

OSCP靶场–ProStore 考点(node.js代码注入gdb-list源文件c语言命令执行) 1.nmap扫描 ## ┌──(root㉿kali)-[~/Desktop] └─# nmap 192.168.200.250 -sV -sC -Pn --min-rate 2500 -p- Starting Nmap 7.92 ( https://nmap.org ) at 2024-04-01 09:18 EDT Nmap scan report…

Stream2Graph论文翻译

Stream2Graph: Dynamic Knowledge Graph for Online Learning Applied in Large-scale Network Abstract 知识图谱(KG)是用于存储某个领域(医疗保健、金融、电子商务、ITOps等)中的知识的有价值的信息来源。大多数工业KG本质上是动态的&#xff0c;因为它们定期更新流数据(客…