200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > uint8_t uint16_t uint32_t uint64_t

uint8_t uint16_t uint32_t uint64_t

时间:2019-11-02 22:00:59

相关推荐

uint8_t uint16_t uint32_t uint64_t

uint8_t、uint16_t、uint32_t、uint64_t

一、C语言数据类型介绍

​ 在C语言当中,数据类型主要分为四大种:基本类型、构造类型、指针类型和空类型void。

其中基本类型包含两大类:整型和浮点型;

构造类型类型包含数组、结构体 struct、共用体 union、枚举enum。

char//1个字节int//4个字节float//4个字节double//8个字节

二、uint8_t、uint16_t、uint32_t、uint64_t

uint8_t、uint16_t、uint32_t、uint64_t等都并非新的数据类型,他们都是用typedef定义的,也就是起别名,他们包含于<stdint.h>中。

在头文件中的定义如下:

typedef unsigned char uint8_t;typedef unsigned short int uint16_t;typedef unsignedint uint32_t;typedef unsigned __INT64 uint64_t;

uint8_t//1个字节uint16_t//2个字节uint32_t//4个字节uint64_t//8个字节

输出格式:

uint8_t//%d //(整型变量时)uint16_t//%d or %huuint32_t//%uuint64_t//%llu

注:uint8_t实际上是一个char。所以输出uint8_t类型的变量实际上输出其对应的字符,而不是数值。

三、uint16_t转为uint8_t

​ 在单片机当中,各种传感器的数据多数是32位或者16位的,在STM32的HAL库开发当中,其发送函数是8位的,此时不能不能直接发送不同类型的数据,会发生精度丢失,此时则需要进行转换。

uint8_t array[2];array[0]=(address&0xFF00)>>8;//取地址的高8位array[1]=address&0x00FF;//取地址的低8位

学习路上小笔记,觉得对你有用的小伙伴请点个赞!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。