C 打印双精度的范围

C 打印双精度的范围,c,C,我是一个初学者程序员。使用DEV C++,我需要打印的范围 double,long-long-int,无符号long-long-int,有符号long-long-int,无符号long-int 到目前为止,我已经这样做了。所有尺寸都以位为单位 #include <stdio.h> #include <conio.h> #include <math.h> int main() { unsigned long int d =

我是一个初学者程序员。使用DEV C++,我需要打印的范围
double
long-long-int
无符号long-long-int
有符号long-long-int
无符号long-int

到目前为止,我已经这样做了。所有尺寸都以位为单位

#include <stdio.h>  
#include <conio.h>    
#include <math.h>

int main()
{
    unsigned long int
        d = pow(2, sizeof(double) * 8),
        lli = pow(2, sizeof(long long int) * 8),
        ulli = pow(2, sizeof(unsigned long long int) * 8),
        slli = pow(2, sizeof(signed long long int) * 8),
        ui = pow(2, sizeof(unsigned int) * 8),
        uli = pow(2, sizeof(unsigned long int) * 8);

    printf("double%d to %d", -(d / 2), (d / 2) - 1);
    printf("longlongint%d to %d", -(lli / 2), (lli / 2) - 1);
    printf("unsigned longlongint%d", ulli - 1);
    printf("signed long longint%d to %d", -(slli / 2), (slli / 2) - 1);
    printf("unsigned int%d", ui - 1);
    printf("unsignedlongint%d ", uli - 1);
    getch();

    return 0;
}
#包括
#包括
#包括
int main()
{
无符号长整型
d=功率(2,尺寸(双)*8),
lli=功率(2,sizeof(long-long-int)*8),
ulli=pow(2,sizeof(无符号长整型)*8),
slli=pow(2,sizeof(签名长整型)*8),
ui=功率(2,sizeof(无符号整数)*8),
uli=pow(2,sizeof(无符号长整数)*8);
printf(“双%d到%d”,—(d/2),(d/2)-1);
printf(“长期%d至%d”,-(lli/2),(lli/2)-1);
printf(“未签名的长周期%d”,ulli-1);
printf(“签署的长期有效期%d至%d”,-(slli/2)、(slli/2)-1);
printf(“未签名整数%d”,用户界面-1);
printf(“unsignedlongint%d”,uli-1);
getch();
返回0;
}
但它仍然没有打印范围…

尝试在每个打印句子中添加
“\n”

printf("double%d to %d\n",-(d/2),(d/2)-1); 
printf("longlongint%d to %d\n",-(lli/2),(lli/2)-1);  
printf("unsigned longlongint%d\n",ulli-1);    
printf("signed long longint%d to %d\n",-(slli/2),(slli/2)-1);    
printf("unsigned int%d\n",ui-1 );   
printf("unsignedlongint%d\n",uli-1);  
更新

正如@Abhineet所建议的,关于缓冲流的更多信息可以帮助您,所以阅读 可能很有趣

尝试在每个打印句子中添加
“\n”

printf("double%d to %d\n",-(d/2),(d/2)-1); 
printf("longlongint%d to %d\n",-(lli/2),(lli/2)-1);  
printf("unsigned longlongint%d\n",ulli-1);    
printf("signed long longint%d to %d\n",-(slli/2),(slli/2)-1);    
printf("unsigned int%d\n",ui-1 );   
printf("unsignedlongint%d\n",uli-1);  
更新

正如@Abhineet所建议的,关于缓冲流的更多信息可以帮助您,所以阅读
可能很有趣

有符号整数的范围通常是不对称的-通常负值比正值多一个

标题
定义您指定的整数类型的范围

  • ULONG\u MAX
  • ULLONG\u MAX
等等

标题
定义浮点类型的范围:

  • DBL\u MAX
  • DBL\u MIN
等等


必须使用正确的格式说明符打印值。

带符号整数的范围通常是不对称的-通常负值多于正值

标题
定义您指定的整数类型的范围

  • ULONG\u MAX
  • ULLONG\u MAX
等等

标题
定义浮点类型的范围:

  • DBL\u MAX
  • DBL\u MIN
等等



您必须使用正确的格式说明符打印值。

使用
…lol这样做了,但什么也没有发生。。请先阅读全文,然后回复。。。x、 x这不是做这件事的方法;这些值由标题中的宏定义。另外,使用
%d
打印整数;您不会使用
%d
打印最大
无符号long long int
。不要忘记启用所有警告和调试信息,并学习如何使用调试器(例如,逐步运行您的程序)。在Linux上(这是一个对开发人员非常友好的系统:你可以研究所有的源代码,因为它是自由软件),你可以使用
gcc-Wall-g
编译,并使用
gdb
调试,使用
进行调试……哈哈,什么都没有发生。。请先阅读全文,然后回复。。。x、 x这不是做这件事的方法;这些值由标题中的宏定义。另外,使用
%d
打印整数;您不会使用
%d
打印最大
无符号long long int
。不要忘记启用所有警告和调试信息,并学习如何使用调试器(例如,逐步运行您的程序)。在Linux上(这是一个对开发人员非常友好的系统:您可以研究所有的源代码,因为它是自由软件),您可以使用
gcc-Wall-g
进行编译,并使用
gdb
+1::进行调试,指出非常明显的错误-“您必须使用正确的格式说明符打印值”请注意,
DBL_MIN
表示最小的正数(而不是整数类型中的最大负数”
DBL_MIN
表示)+1::指出非常明显的错误-“必须使用正确的格式说明符打印值”请注意,
DBL_MIN
表示最小的正数(不是整数类型的最负数“
\u MIN
的意思)问题描述与编译器无关我在发布我的解决方案之前尝试过它,它对我有效,你在投票和评论之前做过同样的事情吗?谢谢,因为缓冲流:天哪,我从来不知道这一点。我只有一次投票,否则我会多次投票给你,包括你的上述评论。完成,谢谢对于评论您的投票感觉,这是非常有帮助的,可能会澄清整个问题和答案问题描述与编译器无关Concern我在发布我的解决方案之前尝试过它,它对我有效,您在投票和评论之前做过同样的事吗?谢谢,因为缓冲流:天哪,我从来都不知道。我做过只有一次投票,否则我会多次投票给你,包括你的上述评论。完成,谢谢你评论你的投票感觉,这非常有帮助,可能会澄清整个问题和答案