概述
word(字)、byte(字节)、bit(位)
- 1word=4byte(MCU是32位机)
- 1word=2byte(MCU是8或者16位机)
- 1byte=8bit
- 1kb=1024byte=210bit
- 1Mb=1024kb=220bit
- 1Gb=1024Mb=230bit
C语言基本数据类型
各种数据类型介绍
整型
整形包括短整型、整形和长整形。
短整形
short a=1;
整形
一般占4个字节(32位),最高位代表符号,0表示正数,1表示负数,取值范围是-2147483648~2147483647,在内存中的存储顺序是地位在前、高位在后,例如0x12345678在内存中的存储如下:
地址:0x0012ff78 0x0012ff79 0x0012ff7a 0x0012ff7b
数据: 78 56 34 12
定义:用int关键字,举例如下:
int a=6;
长整形
long a=10;
浮点型
浮点型包括单精度型和双精度型。
单精度型
浮点型,又称实型,也称单精度。一般占4个字节(32位),
float a=4.5;
地址:0x0012ff78 0x0012ff79 0x0012ff7a 0x0012ff7b
数据: 00 00 90 40
双精度型
一般占8个字节(64位)
double a=4.5;
地址:0x0012ff78 0x0012ff79 0x0012ff7a 0x0012ff7b 0x0012ff7c 0x0012ff7d 0x0012ff7e 0x0012ff7f
数据: 00 00 00 00 00 00 12 40
字符类型
在各种不同系统中,字符类型都占一个字节(8位)。定义如下:
char c=’a’;
也可以用字符对应的ASCII码赋值,如下:
char c=97;
数据类型内存大小
short、int、long、char、float、double 这六个关键字代表C 语言里的六种基本数据类型。
在32 位的系统上
1. short 内存大小是2 个byte;
2. int 内存大小是4 个byte;
3. long 内存大小是4 个byte;
4. float 内存大小是4 个byte;
5. double 内存大小是8 个byte;
6. char 内存大小是1 个byte。
在32位机中C语言所占的内存大小如下
##8位或16机中C语言所占的内存大小如下
总结不同编译器环境下基本数据类型的存储长度