问个C语言的小白问题

来源:百度知道 编辑:UC知道 时间:2024/05/23 18:12:01
1,请问整数,长整数分别在怎样的情况下使用的?
2,浮点与双精度的区别在哪里?
能讲得通俗易懂一点吗,谢谢了!

什么时候long什么时候int要看你需要数值的大小,而浮点数里面,float占4个字节,double占8个字节,他们都是以科学计数法来存储数字的. float其实和一个int型的大小是一样的(4个字节),一共32位,第一位表示符号,2-9表示指数,后面23位表示小数部分.double也与之类似。不过double的小数位数更多,当然也就更精确了。
以下为数据:
int:-32768~32767;
long int:-2147483648~2147483647;
float:-3.4*10^(-38)~3.4*10^38;
double:-1.7*10^(-308)~1.7*10^308;范围谁大谁小一看便知

他妈的,你有没有看过C的教材,这还要问吗!

为什么要区分长整,短整呢?因为我们在用一个变量的时候,内存中会按你定义的类型分配空间,但是我们在有的时候往往不用那么大的空间,所以我们要分为长整和短整型。

区别在于他们能存多大的数

单精度、双精度也是一样,双精度能存的数的范围比单精度大些,能

够保存小数点后较多位的数。
这样懂了么?

1.分别就在于,整型和长整型都是一个容器,用来存放数据,你清楚吧?举个例子:整型是个杯子,长整型是个水桶.现在要你去接一滴水,你会用杯子还是水桶接呢?
虽然杯子和水桶都可以接,但是用水桶就太浪费了资源,换到程序的角度说,就是浪费内存资源,如果不注意使用适当的容器去接数据的话,以后将会造成在同样配置的机器下,你写的程序会比别人的程序跑得慢,占的内存资源大!

2.区别就是双精度的小数位要比单精度的要多.

在超过32767的整数应该定义为长整数。
浮点数就是实数咯。。双精度就是小数点位数比较多一点。算起来就比较精确。。。

整数int占2个字节,范围从-2的15次方到2的15次方-1.
长整数long int占4个字节,范围从-2的31次方到2的31次方-1.
浮点占4个字节,双精度占8个字节,具体范围不用记住(具体范围要看具体的编译器,不过双精度的精确度和取值范围都大于浮点).