硬件编程经常用的u8,u16怎么来的?

这些都是自己定义的宏定义

u8来说

   u8 是unsigned char宏定义得来的,说到unsigned char,那么肯定有人会说为什么用unsigned char,而不用signed char,这里我先说一下sign char在c语言中默认是char,下面文章我会用char代替sign char。
 这是因为char和unsigned char都在内存里占一个字节(byte),一个字节有八位二进制,而char与signed char不同的是char的八位二进制中最高位是符号位,也就应了它的符号sign char,而unsigned char没有符号。  

因此char能表示-128~127, unsigned char没有符号位,因此能表示0~255,
用个表格更直观些

类型字节数取值范围
char1-128~127
unsigned char10~255

在我们在硬件编程需要经常进行位操作,见到最多的就是八位一起操作了,那么unsigned char正好有八位,可以满足我们的需求,这就是为什么我们经常能看到别人程序里的引用u8来定义变量

u16来说

这里跟u8差不多,u16是unsigned short宏定义的,可以直接对16位二进制进行操作

再看看经常在单片机里用的宏定义
在这里插入图片描述
在这里插入图片描述

最后再来写C语言中数据类型的范围
在这里插入图片描述


版权声明:本文为weixin_42949480原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。