uint16_t转换成char_16bit转8bit

uint16_t转换成char_16bit转8bit简单来说,uint8_t/uint16_t/uint32_t/uint64_t这些数据类型都只是别名而来,具体如下:一、C语言数据基本类型在C语言中有6种基本数据类型:short、int、long、float、double、char1)整型:shortint、int、longint2)浮点型:float、double3)字符类型:char二、分析uint8_…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

简单来说,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中

uint16_t转换成char_16bit转8bit

定义类型如下:

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/196239.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • reaver使用相关[通俗易懂]

    reaver使用相关[通俗易懂](非TP-LINK路由推荐–d9–t9参数防止路由僵死reaver-imon0-bMAC-a-S–d9–t9-vv)小结-学习时应因状况调整参数(-c后面都已目标频道为1作为例子)目标信号非常好: reaver -i mon0 -bMAC -a -S -vv -d0 -c1目标信号普通: reaver -i mon0 -bMAC

    2022年5月4日
    109
  • 大厂首发!java中public是什么意思[通俗易懂]

    大厂首发!java中public是什么意思[通俗易懂]一、前言Redis提供了5种数据类型:String(字符串)、Hash(哈希)、List(列表)、Set(集合)、Zset(有序集合),理解每种数据类型的特点对于redis的开发和运维非常重要。备注:按照分析顺序,本节应该说道有序集合对象了,但是考虑到有序集合对象的底层实现中使用到了跳跃表结构,避免在分析有序集合时造成突兀,所以本节先来看看redis中跳跃表结构的具体实现。Maven权威指南首先,本书适合所有Java程序员阅读。由于自动化构建、依赖管理等问题并不只存在于Java世界,因

    2022年7月7日
    30
  • Mysql查看版本号的五种方式介绍

    Mysql查看版本号的五种方式介绍

    2021年10月18日
    56
  • idea2020 3.3激活码_通用破解码

    idea2020 3.3激活码_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月16日
    236
  • JAVABEAN是什么和总结JAVABEAN的两种使用方式

    JAVABEAN是什么和总结JAVABEAN的两种使用方式原文:http://www.blogjava.net/flysky19/articles/88180.html一、 javabean 是什么?Javabean 就是一个类,这个类就定义一系列 get 和 set 方法。 Sosimple !Javabean 就是为了和 jsp 页面传数据化简交互过程而产生的。自己的理解:使用 javabean 和不用 javabean 的

    2022年7月17日
    14
  • java 死链检测_网站死链检测工具/网站地图生成工具「建议收藏」

    java 死链检测_网站死链检测工具/网站地图生成工具「建议收藏」转载自http://www.yshjava.cn/post/483.html今天在谷歌站长工具上看到谷歌爬虫在笔者的个人博客网站上找到了3个无效的404链接,稍微有一点SEO常识的人都知道,404是搜索引擎爬虫非常讨厌的页面,会直接降低网站在搜索引擎中的权重和排名,这是广大站长都不愿意看到的事情。如果自己手动的去寻找这些404页面,或许很难:404存在于哪些页面中?出现一次还是多次?偶然还是必然…

    2022年7月23日
    18

发表回复

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

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