51单片机数据类型及范围

我们可以通过使用sizeof关键字和软件仿真来进行查看数据类型所占的字节数。

sizeof是c语言的一个关键字,是在编译过程中就已经运算好的,已经放在内存中了,作用是判断数据类型或变量所占字节数。

以下是51单片机中的数据类型,及sizeof关键字对其进行计算。

#include "reg52.h"

unsigned char size_u8 = sizeof(unsigned char);
//u8取值范围:0~255,占用1字节

unsigned char size_s8 = sizeof(char); 
//s8取值范围:-128~127,占用1字节

unsigned char size_u16 = sizeof(unsigned int); 
//u16取值范围:0~65535,占用2字节

unsigned char size_s16 = sizeof(int);
//s16取值范围:-32768~32767,占用2字节

unsigned char size_u32 = sizeof(unsigned long); 
//u32取值范围:0~0xFFFF FFFF,占用4字节

unsigned char size_s32 = sizeof(long);
//s32占用4字节

unsigned char size_float = sizeof(float);
//在51单片机中,float和double是一样的,都是占用4字节

unsigned char size_double= sizeof(double);

//51单片机特殊的数据类型
sbit led = P0^0; 
//位寻址,可以对寄存器进行位(一个Bit)赋值。1个字节等于8个比特,即 1Byte=8Bit

void main(void)
{
	// P0 = 0x55; 
	//字节寻址,对寄存器进行一个字节(Byte)的赋值
}

51单片机与c语言不同,有一个特殊的数据类型sbit,可以对寄存器进行位寻址,可以对寄存器单独的某一个位进行赋值。

 下图是软件仿真界面,可以从watch窗口中查看定义的变量所占的字节数以及所对应的数值。也可以直接光标移动到变量上,即可查看所占字节数。

51单片机数据类型及范围_第1张图片

由于sizeof是直接在编译时就已经运算好的,所以程序不需要run就可以直接在软件仿真界面看到结果。 

 

你可能感兴趣的:(蓝桥杯学习笔记,51单片机,单片机)