前言
在介绍之前先给大家普及一下计算机单位以及其大小关系
bit-比特位,byte-字节 , KB,MB,GB,TB,PB
1byte=8bit
1KB=1024byte
1MB=1024KB
1GB=1024MB
1TB=1024GB
1PB=1024TB
1.整型
整型我们可以理解为整数,包括了基本型(int),长整型(long),短整型(short),无符号型(unsigned long,unsigned short,unsigned )
这里有符号数与无符号数区别在于是否该二进制最高位用于存储数值。有符号数的最高位是用于表示数值正负,这里的差异直接导致了该表示的数值范围不同。下面我们看表理解。
数据类型 所占字节大小 大小范围表示
short 2 -32767到32767
int 4 -2^31到2^31
long 4 -2147483647到2147483647
unsigned short 2 0到65535
unsigned 4 0到65535
unsigned long 4 0到4294967295
实际上各种数据类型具体能表示多少数值因编译器而异。该显示的是最低范围。C语言在<limits.h>头文件中以宏定义的形式定义了字符类型以及其他整形所能表示的数值的最大值最小值。
2.浮点型
浮点型分为单精度浮点型(float),双精度浮点型(double),以及长双精度浮点型(long double)
数据类型 字节数 有效数字 范围大小
float 4 6 到7 -3.402823466*10^38到3.402823466*10^38
double 8 15到16 -1.7*10^308到-1.7*10^308
long double 8 18到19 -1.2*10^308到1.2*10^308
这里的有效数字即包括整数和小数,这里给大家演示一下
#include<stdio.h> int main() { float a=886768.676; double b=725735727.82768; printf("a=%",a); printf("b=%f ",b); return 0; }
a=886768.687500 b=725735727.827680
3.字符型
字符型大家可以看做整型的一种,该在电脑的存储中是以ASCLL码的形式存储在电脑中的,charl类型也分为有符号字符型和无符号字符型,具体如下
类型 字节数 取值范围
signed char 1 -128到127
unsigned char 1 0到255
对于char类型的又符号范围,这里有点特殊,所以这里小编给大家重点介绍一下
首先这里小编给大家列出所有的取值情况
00000000
00000001
00000010
……
011111110
011111111
10000000
10000001
……
11111111
对于有符号数我们就需要考虑到原码,反码,补码
所以我们这里的对应值是
00000000 0
00000001 1
00000010 2
……
011111110 126
011111111 127
10000000 -128
10000001 -127
……
11111111 -1
这里除了-128,所有的值我们都可以按原码,反码,补码计算得到,但对于10000000这里因为没定义,所以这里我们将其定义为-128
为了直观的展现char类型的存储性质,接下来我给大家演示
#include<stdio.h> int main() { char a='a'; printf("a=%d ",a); printf("a=%c",a); return 0; } a=97 a=a
以上就给大家基础的介绍几个基本的数据类型,之后的我将不断补充。