详解C语言中的int8_t、uint8_t、int16_t、uint16_t、int32_t、uint32_t、int64_t、uint64_t

news2024/9/30 7:32:23

2023年8月8日,周二上午


目录

  • 为什么会产生int8_t、uint8_t等这类数据类型
  • int8_t、uint8_t等这类数据类型有什么用
  • 头文件
  • int8_t、uint8_t等这类数据类型是怎么实现的

为什么会产生int8_t、uint8_t等这类数据类型

根本原因在于,C 语言标准只是规定了各个基本类型的最小字节长度,但并没有指定它们的确切字节长度:

  • char 类型: char 类型的最小大小为 1 字节,用来存储字符的基本类型。

  • short 类型: short 类型的最小大小为 2 字节,用来存储短整数的基本类型。

  • int 类型: int 类型的最小大小为 2 字节,用来存储整数的基本类型。

  • long 类型: long 类型的最小大小为 4 字节,用来存储长整数的基本类型。

  • long long 类型: long long 类型的最小大小为 8 字节,用来存储超长整数的基本类型。

比如,

在64位Windows上运行C语言的sizeof(long)得到的是4

在64位Linux上运行C语言的sizeof(long)得到的是8

虽然不一样,但它们都不会小于4字节

再比如,

在某些平台上运行C语言的sizeof(int)得到的是2

在64位和32位Windows上运行C语言的sizeof(int)得到的是4

虽然不一样,但它们都不会小于2字节

总而言之,C语言现有的基本数据类型,不能满足跨平台的需求。

因为C语言现有的基本数据类型在不同的平台有不同的字节长度,当换一个平台时可能会在数据大小方面出现问题。

int8_t、uint8_t等这类数据类型有什么用

Integer type with a width of exactly 8, 16, 32, or 64 bits.

具有精确位宽的8位、16位、32位或64位整型

也就是说,无论在什么平台,无论用什么编译器,只要是遵守C语言标准的,

int8_t和uint8_t一定是8位的整型,

int16_t和uint16_t一定是16位的整型,

int32_t和uint32_t一定是32位的整型,

int64_t和uint64_t一定是64位的整型

头文件

在C语言中,它们定义在stdint.h

在C++中,它们定义在cstdint

int8_t、uint8_t等这类数据类型是怎么实现的

我研究了几个小时也没能彻底弄懂,感觉没那么简单,还是挺复杂的,

其实也不用研究这些,知道怎么用、为什么要用就可以了,

不建议去研究这个....

 

 

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

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

相关文章

CentOS8装不上软件

App stream什么提示、或者找不到firewalld服务等类似提示时。可以尝试替换/etc/yum.repos.d文件夹下的文件内容。记得替换之前先备份原有的,防止意外情况便于恢复。 替换后文件如下: 文件下载地址: https://download.csdn.net/download/zhao…

也谈态势感知的嵌套与级联

不同颗粒度的态势感知可以嵌套在一起,形成一个层次结构,从而提供全面和多层次的信息获取和理解。 在态势感知中,颗粒度可以理解为观察、收集和分析信息的细节程度。较高颗粒度的态势感知关注的是具体的事件、行动或细节,提供了详细…

如何高性能、高效率地实现3D Web轻量化?

随着互联网和Web技术的发展,3D Web应用的需求越来越多。然而,复杂的3D模型在Web上展示和交互通常需要大量的带宽和计算资源。为了解决这一问题,HOOPS技术作为一套专业的3D图形技术开发工具包,发挥着关键作用。本文将探讨HOOPS技术…

问道管理:新创业板权限怎么开通?

在我国证券商场中,创业板能够被认为是相对较为年青的板块, 但在近几年中,创业板体现出了极高的投资价值。为了更好地促进我国立异企业开展,政府开放了新创业板权限。可是,对于很多人来说,新创业板权限是一个…

【MySQL学习】道士下山——MySQL的安装教程

学习数据库,不仅仅需要学习数据库的理论知识,还需要掌握一定的数据库开发能力;为后续的数据库应用开发、数据库内核开发等打下良好的基础。 对于学习者而言,目前市面上的Oracle等数据库软件需要付费,而MySQL作为一款免…

又一关键系统上线!海底捞进销存系统登陆OceanBase,数据库整体成本节省50%

2020 年,海底捞全面实现“云上捞”,将所有核心业务系统上云,全面推进企业数字化进程。而随着海底捞业务的不断增长,加上数智化转型构建全新的线上智慧服务,原有 IT 系统架构已经逐渐无法有效“驾驭”海量数据与突发流量…

Java之多线程和并发应用

多线程和并发应用 1. 概念与意义2. 多线程的实际应用场景2.1 网络通信2.2 数据库操作2.3 图片处理 3. 多线程的创建方式3.1 继承 Thread 类3.2 实现 Runnable 类3.3 实现 Callable 接口3.4 比较 Thread 和 Runnable3.5 线程同步与锁3.6 线程池 4. 并发编程的挑战和解决方案4.1 …

mysql存储过程定时调度

假设我们要创建一个简单的数据库,其中包含两张表:students 表和 courses 表,以及一个存储过程用于插入学生数据。下面是完整的建表语句、插入语句和存储过程: 1】建表 -- 创建 courses 表 CREATE TABLE courses (course_id INT …

【自然语言处理】大模型高效微调:PEFT 使用案例

文章目录 一、PEFT介绍二、PEFT 使用2.1 PeftConfig2.2 PeftModel2.3 保存和加载模型 三、PEFT支持任务3.1 Models support matrix3.1.1 Causal Language Modeling3.1.2 Conditional Generation3.1.3 Sequence Classification3.1.4 Token Classification3.1.5 Text-to-Image Ge…

OpenLayers入门,OpenLayers涂鸦手绘线条、圆形和多边形,涂鸦线条自动收尾连接成多边形

专栏目录: OpenLayers入门教程汇总目录 前言 本章再次讲解OpenLayers绘制图形功能,上一章中《OpenLayers图形绘制,OpenLayers实现在地图上绘制线段、圆形和多边形》我们已经讲过多种图形的绘制,本章主要讲解自由涂鸦手绘绘制线条,圆形和任意形状。 二、依赖和使用 &q…

Spring BeanPostProcessor 接口的作用和使用

BeanPostProcessor 接口是 Spring 框架中的一个扩展接口,用于在 Spring 容器实例化、配置和初始化 bean 的过程中提供自定义的扩展点。通过实现这个接口,您可以在 bean 实例创建的不同生命周期阶段插入自己的逻辑,从而实现对 bean 行为的定制…

微仓助力制造业数字化转型,实现高效智能供应链!

随着制造业数字化转型的浪潮迅猛涌现,为了应对日益复杂和快速变化的市场需求,制造企业面临着提高生产效率、降低成本、实现供应链高效运作的挑战。在这个数字化时代,微仓作为智能仓储解决方案,正发挥着关键的作用,成为…

verity cannot ... ‘/dev/block/dm-4‘ is read-only/ 证书cacerts系统目录

网上的说的一种做法是 su mount -o rw,remount / mount -o rw,remount /system cp /data/misc/user/0/cacerts-added/269953fb.0 /system/etc/security/cacerts/ rm /data/misc/user/0/cacerts-added/269953fb.0 reboot 但是我机子是android 12.0 提示 /dev/block/dm-4…

NKD:容器云集群与 OS 一体化运维利器

NKD 是 NestOS-kubernetes-Deployer 的缩写,是为了基于 NestOS 部署的 Kubernetes 集群运维工作准备的解决方案。其目标是在集群外提供对集群基础设施(包括操作系统和 Kubernetes 基础组件)的部署、更新和配置管理等服务。 1. 引言 Kuberne…

双栏排版中,[!b]等等的一些命令都不行啊

\usepackage{stfloats} Latex:图片、表格占据双栏排版的两栏时 的位置控制_latex stfloats_weixin_39450145的博客-CSDN博客目录1.问题:怎么在双栏排版中,让占据两栏的表格出现在页面顶端?2.解决:1)图片&a…

378. 有序矩阵中第 K 小的元素

378. 有序矩阵中第 K 小的元素 原题链接:完成情况:解题思路:参考代码:__378有序矩阵中第K小的元素__直接排序__378有序矩阵中第K小的元素__归并排序__378有序矩阵中第K小的元素__二分查找 原题链接: 378. 有序矩阵中…

中学高级本习集c++

第一章 回溯法 1.1 马拦过河卒 源程序名 knight.???(pas, c, cpp) 可执行文件名 knight.exe 输入文件名 knight.in 输出文件名 knight.out 【问题描述】 棋盘上A点有一个过河卒,需要走到目标B点…

山西电力市场日前价格预测【2023-08-10】

日前价格预测 预测明日(2023-08-10)山西电力市场全天平均日前电价为328.01元/MWh。其中,最高日前电价为366.62元/MWh,预计出现在20: 00。最低日前电价为283.28元/MWh,预计出现在13: 15。 价差方向预测 1: 实…

本质安全设备标准(IEC60079-11)的理解(六)温度

本质安全设备标准(IEC60079-11)的理解(六)温度 本质安全设备的温度要求也是非常复杂的,首先在标准中涉及有3个温度的概念: 环境温度ambient temperature, 工作温度service temperature和最高表…

聊聊机器人学习中的“资产”与“负债”(节选)

前言: 程序里面的bug,人生过程的bug,都非常让人烦躁的。 前一篇: 聊聊机器人学习中的“投资”与“消费”(节选) 有很多学生和朋友,越学越累,越活越累?这到底是为何&a…