double,long double及各变量数组内存开销

  IEEE754浮点数的表示方法。C语言里对float类型数据的表示范围为-3.4*10^38~+3.4*10^38。double为-1.7*10^-308~1.7*10^308,long double为-1.2*10^-4932~1.2*10^4932.

类型

比特(位)数

有效数字

数值范围

float

32

6~7

-3.4*10^38~+3.4*10^38

double

64

15~16

-1.7*10^-308~1.7*10^308

long double

128

18~19

-1.2*10^-4932~1.2*10^4932

 

long double 输入:scanf("%Lf",&x); printf("%.10Lf",x);

另外分析下关于数组使用消耗内存情况.

int float是32位,也就是4B=32bit

当开一个10^7的数组时,消耗的内存为:10^7*4B=39063KB=38MB

short int是16位,10^7数组需要内存为19MB

bool,char是8位,10^7数组需要内存约为10MB

long long,double是64位,10^7数组需要内存约为72MB

long double 是128位的,10^7数组需要内存约为144MB

 

posted @ 2016-01-03 20:05  chenhuan001  阅读(728)  评论(0编辑  收藏  举报