关于c语言中的数据类型

C语言中存储大小的单位有比特位(bit),字节(byte),kb,mb,gb,tb,zb,pb等
首先我们需要了解到由于计算机有正负电流,所以我们将这种正负变换使用到二进制中,所以二进制中的一个0或者一个1,就分别代表了一个比特位的大小。例如11111111这样八个1就是八个比特位的大小。它们之间的换算关系是
1byte=8bit
1kb=1024byte
1mb=1024kb
1gb=1024mb
1tb=1024gb
1zb=1024tb
1pb=1024zb

而在C语言中我们可以知道有这么几种数据类型,char,int,short,long,long long,float,double
我们可以在程序中做个试验,首先,sizeof计算的是对应类型的变量所占内存的大小,是以字节作为单位。
在这里插入图片描述
所以我们可以得到,
char 对应的是一个字节,也就是八个比特位 ,就是从00000000到11111111,即从0到255这么大。
short 对应的是两个字节,也就是十六的比特位
int 对应的是四个字节,也就是三十二个比特位
long 对应的也是四个字节,因为C语言中规定long的内存大小是>=int,而在不同的编译器中是不同的,所以long的内存大小不一定大于int的内存大小。
long long 对应的是八个字节,也就是六十四个比特位
float 是四个字节,也就是三十二个比特位
double 是八个字节,也就是六十四个比特位。

还有一些对于浮点数值得知晓的东西,
1 float a=1.5;这段代码是错的,当直接输入类似于1.5这样的小数时,系统默认数据类型为double;
但可以这样写: float a=1.5f;或者double a=1.5;
2 要执行5/2=2.5这样的运算的时候。要保证至少有一个数是浮点数形式,比如5.0/2或者5/2.5,否则5/2是等于2,不能得到想要的结果。
3 要保留几位小数,可以写为printf(“%.5f”,a);就是保留五位小数的意思。

猜你喜欢

转载自blog.csdn.net/weixin_51306225/article/details/112678015