-第2?来单片如的官应用程秀设计 722C51数据在MCS-51中的存储方式 位变量(bit):与MCS-51硬件特性操作有关的可以定义成位变 量。位变量必须定位在MCS-51单片机片内RAM的位寻址空间中 字符变量(char):字符变量的长度为1byt即8位。这很合适 MCS-51单片机,因为MCS-51单片机每次可处理8位数据。对于无 符号变量( unsigned char)的值域范围是0~255。对于有符号字符变量 ( signed char),最具有重要意义的位是最高位上的符号标志位(msb) 此位为1代表"负",为0代表"正"。有符号字符变量和无符号字符变 量在表示0~-127的数值时,其含义是一样的,都是0~0x7F。负数 般用补码表示,即用11示-1,用1111示-2.。当进 行乘除法运算时,符号问题就变得十分复杂,而C51编译器会自动 地将相应的库函数调入程序中来解决这个问题
第7章 单片机的C语言应用程序设计 7.2.2 C51数据在MCS-51中的存储方式 位变量(bit):与MCS-51硬件特性操作有关的可以定义成位变 量。位变量必须定位在MCS-51单片机片内RAM的位寻址空间中。 字符变量(char):字符变量的长度为1 byte即8位。这很合适 MCS-51单片机,因为MCS-51单片机每次可处理8位数据。对于无 符号变量(unsigned char)的值域范围是0~255。对于有符号字符变量 (signed char),最具有重要意义的位是最高位上的符号标志位(msb)。 此位为1代表"负",为0代表"正"。有符号字符变量和无符号字符变 量在表示0~127的数值时,其含义是一样的,都是0~0x7F。负数一 般用补码表示,即用11111111表示-1, 用11111110表示-2……。当进 行乘除法运算时,符号问题就变得十分复杂,而C51编译器会自动 地将相应的库函数调入程序中来解决这个问题
-第2?来单片如的官应用程秀设计- 整型变量(int):整型变量的长度为16位。与8080和8086 CPU系列不同,MCS-51系列单片机将int型变量的高位字节数 存放在低地址字节中,低位字节数存放在高地址字节中。有符 号整型变量( signed int)也使用msb位作符号标志位,并使用二进 制补码表示数值。可直接使用几种专用的机器指令来完成多字 节的加、减、乘、除运算。整型变量值0x1234以图7.1所示的方 式存放在内存中
第7章 单片机的C语言应用程序设计 整型变量(int): 整型变量的长度为16位。与8080和8086 CPU系列不同,MCS-51系列单片机将int型变量的高位字节数 存放在低地址字节中,低位字节数存放在高地址字节中。有符 号整型变量(signed int)也使用msb位作符号标志位,并使用二进 制补码表示数值。可直接使用几种专用的机器指令来完成多字 节的加、减、乘、除运算。整型变量值0x1234以图7.1所示的方 式存放在内存中
-第2?来单片如的官应用程秀设计- 地址 地址 0x12 +0 0x34 0 0x12 +1 0x56 +1 0x34 2 0x78 +3 图7Ⅰ整型数的存储结构图72长整型变量的存储结构
第7章 单片机的C语言应用程序设计 图7.1 整型数的存储结构 … 0x12 0x34 … +0 +1 地址 0x12 0x34 0x56 0x78 …. +0 +1 +2 +3 地址 图7.2 长整型变量的存储结构
-第2?来单片如的官应用程秀设计- 浮点型变量( float):浮点型变量为32位,占4个字节,许多复 杂的数学表达式都采用浮点变量数据类型。应用符号位表示数 的符号,用阶码和尾数表示数的大小。 用它们进行任何数学运算都需要使用由编译器决定的各种 不同效率等级的库函数。 Franklin c51的浮点变量数据类型的使 用格式与IEEE-754标准有关,具有24位精度,尾数的高位始终 为"",因而不保存,位的分布如下: ●1位符号位。 8位指数位。 23位尾数
第7章 单片机的C语言应用程序设计 浮点型变量(float): 浮点型变量为32位,占4个字节,许多复 杂的数学表达式都采用浮点变量数据类型。应用符号位表示数 的符号,用阶码和尾数表示数的大小。 用它们进行任何数学运算都需要使用由编译器决定的各种 不同效率等级的库函数。Franklin C51的浮点变量数据类型的使 用格式与IEEE-754标准有关,具有24位精度,尾数的高位始终 为"1",因而不保存,位的分布如下: ● 1位符号位。 ● 8位指数位。 ● 23位尾数
-第单片如的稀官应用秀设计- 符号位是最高位,尾数为低23位,内存中按字节存储顺序如下: 地址 2 内容 MMMMMMMM MMMMMMMM EMMMMMMM SEEEEEEE 其中,S为符号位,1表示负,0表示正;E为阶码;M为23 位尾数,最高位为"1" 浮点变量值-12.5的十进制为:0xC148000,它按图73所 示方式存于内存中
第7章 单片机的C语言应用程序设计 符号位是最高位,尾数为低23位,内存中按字节存储顺序如下: 地址 +0 +1 +2 +3 内容 MMMMMMMM MMMMMMMM EMMMMMMM SEEEEEEE 其中,S为符号位,1表示负,0表示正;E为阶码;M为23 位尾数,最高位为"1"。 浮点变量值 -12.5的十进制为:0xC1480000,它按图7.3所 示方式存于内存中