long double主要用于某些支持扩展精度的机器上提供扩展精度,其长度>=double
一、主体不同 1、 long:表示一种长整型数据。2、float:浮点型数据类型 3、double:双精度浮点数据型。二、类型不同 1、 long:默认为有符号长整型,含4个字节。2、float:用于存储单精度浮点数或双精度浮点数。3、double:表示十进制的15或16位有效数字。三、取值范围不同 1、 long:取值范围为...
1、%f 是输出 float 型变量;%f 是输出 double 型变量;%Lf 是输出 long double 型变量。2、在C语言中,对于数值类型只有通过printf类函数输出这一种方式,比如printf, sprintf, fprintf等。这类函数输出时要求有格式符号,其中long double的格式符号为%Lf。以下是一个简单的参考代码,输出到标准输出...
基本上所有支持类型转换的语言,在高精度向低精度转换时会直接截取高位,所以低位会丢失 另外你的第二个printf里边的输出格式控制符是%f(正确的应该是%lf),而变量是long double,在截掉低位之后发生数据丢失,所以会产生第一个结果.你把long去掉当然是正确的结果,至于在mac上和其他电脑的区别,只是机器...
㈡ c语言中 long float 和double有什么区别 一、主体不同 1、long:表示一种长整型数据。 2、float:浮点型数据类型 3、double:双精度浮点数据型。 二、类型不同 1、long:默认为有符号长整型,含4个字节。 2、float:用于存储单精度浮点数或双精度浮点数。
在高精度向低精度转换时会直接截取高位,所以低位会丢失 另外你的第二个printf里边的输出格式控制符是%f(正确的应该是%lf),而变量是long double,在截掉低位之后发生数据丢失,所以会产生第一个结果.你把long去掉当然是正确的结果,至于在mac上和其他电脑的区别,只是机器的问题,但是值并没有改变 ...