在单片机编程中,基本上常用的都是,unsigned char,unsigned int、unsigned long这三种类型,变量的定义不同的类型,就决定了位宽,也就决定了变量的数据范围。
char 类型,是8位有符号数据类型,范围是-128~127。
unsigned char 类型,是8位无符号的数据类型,范围是0-255,总共256个数字。
int 类型, 16位有符号数据类型。范围是-32768~32767。
unsigned int类型,是16位无符号数据类型,范围是0-65535,总共65536个数字
unsigned long,是32位的数据,范围是0-2^32。
在单片机编程时候,需要根据设定变量的需求,选择定义合适的变量类型。比如你想用的变量是超过255,就必须用unsigned int 类型。否则会出现异常。
但在不同的开发平台,类型范围有可能不一致
在不同的单片机平台当中,unsigned char,unsigned int,unsigned long 代表的位宽会存在差异。这个与芯片的开发环境有关系.。比如在合泰单片机的开发环境,unsigned int 类型是与unsigned char 是一样的。都是8位宽度。 在windows 环境下开发,int类型就是32位宽度。所以需要具体平台具体分析。
变量的类型,是单片机C语言开发的基础,如果不掌握,有可能设计出来的代码和想象中的不一样。
虽然这是一个很简单的技术基础,但很容易被单片机初学者,或者C语言编程初学者遗漏的知识点。在程序BUG调试当中,对于初学者来说,也是经常遇到,希望大家都记住。