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);
unsigned char size_double = sizeof(double);//在51单片机中,float和double是一样的,都是占用四个字节
//51单片机特殊的数据类型
sbit led = P0^0;//位寻址,可以对寄存器进行位(1个Bit)赋值,1个字节等于8个比特,即1Byte = 8Bit
void main()
{
//P0 = 0x55; //字节寻址,对寄存器进行一个字节的赋值
}