硬件编程经常用的u8,u16怎么来的?
程序员文章站
2022-07-05 11:10:47
...
这些都是自己定义的宏定义
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,
用个表格更直观些
类型 | 字节数 | 取值范围 |
---|---|---|
char | 1 | -128~127 |
unsigned char | 1 | 0~255 |
在我们在硬件编程需要经常进行位操作,见到最多的就是八位一起操作了,那么unsigned char正好有八位,可以满足我们的需求,这就是为什么我们经常能看到别人程序里的引用u8来定义变量
u16来说
这里跟u8差不多,u16是unsigned short宏定义的,可以直接对16位二进制进行操作
再看看经常在单片机里用的宏定义
最后再来写C语言中数据类型的范围
下一篇: Flex Module专题
推荐阅读