overflow.cpp

来自「求系统的计算最小数,以便让计算人员明确计算机大数吃小数的精度损失」· C++ 代码 · 共 62 行

CPP
62
字号
#include"stdio.h"
#include"math.h"
int n;
void mincaculofdouble(FILE *fp)
{
	n=0;
	double f=1.0;
	while(1+f!=1)
	{
		n++;
		f=f/2;
	}
	fprintf(fp,"%e\n",2*f);
	f=-1;
	n=0;
	while(1+f!=1)
	{
		n++;
		f=f/2.0;
	}
	fprintf(fp,"%e\n",2*f);
}

void mincaculoffloat(FILE*fp)
{
	n=0;
	float f=1.0;
	float x=(float)1+f;
	const float c=2;
	while(x!=1)
	{
		n++;
		f=f/c;
		x=(float)1+f;
	}
	fprintf(fp,"%e\n",2*f);
	f=-1;
	n=0;
	x=(float)1+f;
	while(x!=1)
	{
		n++;
		f=f/c;
		x=(float)1+f;
	}
	fprintf(fp,"%e\n",2*f);
}
void main()
{
	FILE*fp;
	if((fp=fopen("output.txt","w"))==NULL)
	{
		printf("file open error!");
	}
	else
	{
		mincaculofdouble(fp);
		mincaculoffloat(fp);
	}
	fclose(fp);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?