理论教育 整型数据-PIC单片机常用模块与典型实例

整型数据-PIC单片机常用模块与典型实例

时间:2023-10-19 理论教育 版权反馈
【摘要】:整型数据包括整型常量和整型变量。为了避免误解,在一些C语言编程规范中不建议使用八进制整常数。以下各数是合法的八进制整常数。有符号整型变量:最大表示32767。表4-2列出了PICC编译器中各类整型变量所分配的内存字节数及数的表示范围。表4-2 PICC中整型变量所占字节数及数的表示范围以下是几个整型变量定义的例子。

整型数据-PIC单片机常用模块与典型实例

整型数据在存储器中一般占用2个或4个字节的存储空间,通常用于算术运算。整型数据包括整型常量和整型变量

1.整型常量

整型常量就是整常数。在单片机C语言中,使用的整常数有进制十六进制十进制八进制4种,其中八进制很少使用。下面分别介绍不同进制的整型常量写法。

1)十进制整常数。十进制整常数没有前缀。其数码为0~9。

以下各数是合法的十进制整常数。

978-7-111-33274-9-Chapter04-31.jpg

以下各数不是合法的十进制整常数。

978-7-111-33274-9-Chapter04-32.jpg

在C程序中是根据前缀来区分各种进制数的。除十进制外,其他进制数常量必须书写前缀。因此,在书写常数时千万不要把前缀弄错,否则会得到错误的结果。

2)八进制整常数。八进制整常数必须以0(零)开头,即以0作为八进制数的前缀。数码取值为0~7。八进制整常数通常是无符号数。为了避免误解,在一些C语言编程规范中不建议使用八进制整常数。

以下各数是合法的八进制整常数。

978-7-111-33274-9-Chapter04-33.jpg

以下各数不是合法的八进制整常数。

978-7-111-33274-9-Chapter04-34.jpg

3)十六进制整常数。十六进制整常数的前缀为0X或0x。其数码取值为0~9,A~F或a~f。以下各数是合法的十六进制整常数。

978-7-111-33274-9-Chapter04-35.jpg

以下各数不是合法的十六进制整常数。

978-7-111-33274-9-Chapter04-36.jpg

4)二进制整常数。在PICC中,二进制整常数前缀为0B或0b。其数码取值为0或1。以下各数是合法的二进制整常数。

978-7-111-33274-9-Chapter04-37.jpg

整型数据可以用2个字节(16位二进制数)或4个字节(32位二进制数)存储。在16位字长的机器上,基本整型的长度也为16位,因此表示的数的范围也是有限定的。

十进制无符号整常数的表示范围为0~65535,有符号整常数的表示范围为-32768~+32767。十六进制无符号正常数的表示范围为0x0~0xFFFF。如果使用的数超过了上述范围,就必须用长整型数来表示。长整型数是用后缀“L”或“l”(long这个单词的首字母)来表示的。

十进制长整常数如下。

978-7-111-33274-9-Chapter04-38.jpg

十六进制长整常数如下。

978-7-111-33274-9-Chapter04-39.jpg

说明:长整常数158L和基本整常数158在数值上并无区别。由于158L是长整型量,所以C编译系统将为它分配4个字节存储空间(若此编译器的长整型为4个字节)。由于158默认常数是基本整型,所以只分配2个字节的存储空间(若此编译器的整型为2个字节)。因此,在运算和赋值上要予以注意,避免出错。(www.daowen.com)

无符号数也可用后缀表示,整型常数的无符号数的后缀为“U”或“u”(unsinged这个单词的首字母)。例如:

978-7-111-33274-9-Chapter04-40.jpg

在表示常数时,前缀、后缀可同时使用以表示各种类型的数,如0xA5Lu表示十六进制无符号长整常数A5,其十进制为165。

2.整型变量

整型变量有不同的存储长度,所以其类型说明符也不同。在标准C语言中,整型变量分为以下4类。

1)基本型:类型说明符为int,一般情况下在内存中占2个字节。

2)短整型:类型说明符为shortint或short,所占字节和取值范围均与基本型相同。

3)长整型:类型说明符为longint或long,在内存中占4个字节。

4)无符号型:类型说明符为unsigned。

无符号型又可与上述3种类型匹配而构成以下3种类型。

1)无符号基本型:类型说明符为unsignedint或unsigned。

2)无符号短整型:类型说明符为unsignedshort。

3)无符号长整型:类型说明符为unsignedlong。

各种无符号类型量所占的内存空间字节数与相应的有符号类型量相同,但由于省去了符号位,所以不能表示负数。

有符号整型变量:最大表示32767。

978-7-111-33274-9-Chapter04-41.jpg

无符号整型变量:最大表示65535。

978-7-111-33274-9-Chapter04-42.jpg

表4-2列出了PICC编译器中各类整型变量所分配的内存字节数及数的表示范围。

表4-2 PICC中整型变量所占字节数及数的表示范围

978-7-111-33274-9-Chapter04-43.jpg

以下是几个整型变量定义的例子。

978-7-111-33274-9-Chapter04-44.jpg

个人计算机的应用程序编写过程中,int型还是很常用的。但在单片机中,由于PIC16系列单片机是8位单片机,处理双字节运算时的速度要慢些,所以在做定义控制类变量时,不建议使用整型,建议用char型取而代之。如果读者将来使用16位或32位单片机时,建议使用int型。

提示:不同的C编译器对于某种数据类型具体占用字节数和实现方法可能不同,当读者使用一个新的C编译器时,请务必查阅相应C编译器的使用说明手册弄清各种基本数据类型占用的字节数和所能表示的范围,对于PICC而言,读者可以查阅其软件安装后的用户手册(manual.pdf)来获得此编译器支持的数据类型。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈