HardBirch

sizeof(long double)

时间:09-09-13 栏目:系统技术篇 作者:鲁智森也有文化 评论:0 点击: 1,659 次

     据我所知,double和long double都是ANSI C标准的浮点数。但ANSI C并未规定long double的确切精度所以对于不同平台可能有不同的实现。有的是8字节,有的是10字节,有的是12字节或更多。一般来说long double的精度要高于double, 至少相等,就像int和long int一样。但同一平台也可能不一样,比如MS自己的C/C++/VC++就不一样。好像以前16位的VC++中long double用10字节,而Win32就改用了8字节,和double一样了。MS保留long double类型的库函数是为了兼容,用户能够继续使用以前编写的代码。MS也说明以后编写程序时不要再使用asinl, acosl这样的long double类型的库函数。但long double的数据类型还是要保留的,它毕竟是ANSI C标准规定的数据类型。说不定哪天他的C/C++会把long double弄成16字节的呢。

 

    我在VC6.0下用sizeof(long   double)的出来的结果是8,同double的一样;  但是在linux下有G++和VI   得到的sizeof(long   double)=12;double=8;  

声明: 本文由( 鲁智森也有文化 )原创编译,转载请保留链接: sizeof(long double)

sizeof(long double):等您坐沙发呢!

发表评论


QQ群互动

Linux系统与内核学习群:194051772

WP建站技术学习交流群:194062106

魔豆之路QR

魔豆的Linux内核之路

魔豆的Linux内核之路

优秀工程师当看优秀书籍

优秀程序员,要看优秀书!

赞助商广告

友荐云推荐