浮点类型的限制?

fer*_*erz 3 c floating-point types

#include <stdio.h>
#include <limits.h>

int main(void){
        printf("Type                Size      Min                 Max\n----------------------------------------------------------------------\n");
        printf("%-20s%-10d%-20ld%-20ld\n", "long", sizeof(long), LONG_MIN, LONG_MAX);
        printf("%-20s%-10d%-20lu%-20lu\n", "unsigned long", sizeof(long), 0, ULONG_MAX);
        return 0;
}
Run Code Online (Sandbox Code Playgroud)

双倍?即变量LONG_MIN在文件limits.h中.在哪种类型双?

   int i, min, max;

    for (i = 1.0; i > 0; ++i)
    {
        max = i;
    };
    min = i;
    printf ("int: min: %d max: %d \n", min, max);
Run Code Online (Sandbox Code Playgroud)

如何浮动和双倍?min怎么计算这个变量?对不起坏英语

Cli*_*ord 15

浮点类型的限制在float.h中定义,而不是limits.h


vmp*_*str 8

在linux上,我有float.h,FLT_MAX和DBL_MAX分别定义为最大float和double值.我不确定那是多么"标准",但......

  • 它是完全标准的(在所有 ANSI C89、ISO C90 和 ISO C99 中) (2认同)

Nic*_*nks 5

我想这就是你想要的:

浮动:%f

长浮点数(双精度):%lf

您可能还想以指数表示法查看它:%E

对于 float 和 double 的最小/最大,这就是您想要的

这是 float.h 的片段:

#define DBL_MAX 1.7976931348623158e+308 /* max value */
#define DBL_MIN 2.2250738585072014e-308 /* min positive value */

#define FLT_MAX 3.402823466e+38F /* max value */
#define FLT_MIN 1.175494351e-38F /* min positive value */
Run Code Online (Sandbox Code Playgroud)