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 unsigned     int 		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 %hu		
uint32_t		//%u
uint64_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位

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

追风~Archer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值