[记] C语言中的nan和inf

[记] C语言中的nan和inf,第1张

在数据处理输入输出时,可袜腔能遇到数据读入空值(极大、极基搏小)、运算中分母为0或0.0,对0取对数等 *** 作。将产生nan或inf 。

nan:not a number, 表示 “无效数字”

INF:infinite,表示“无穷大

超出浮点数的表示范围(溢出告锋衫)

#include <stdio.h>

#include <math.h>

#include <stdlib.h>

#include <time.h>

double randomExponential(double) 

int main() {

//double lambda

//double pV = 0.0 

double x,d = 0.0

srand(time(NULL))

for (int i = 1i <= 10i++) {

//randomExponential 

x = randomExponential(d)//d的值是0.0

printf("%lf\n",x)

}

return 高磨虚0

}

double randomExponential(double lambda) { 

double pV = 0.0 

while(true) { //这个循环的功能就是使pV的值为1,很奇怪的做法

pV = (double)rand()/(double)RAND_MAX 

if (pV != 1) 戚燃{ 

break 

pV = (-1.0/lambda)*log(1-pV) //pV的值是1,1-1的对数是不存在的

double d = pV 

return d 游亮//返回的无穷大+∞

}

#include<cstdio>

#include<math.h>兆悄

using namespace std

int main() {

double

x,a,b,c,d

double y

scanf("%lf%lf%lf%lf%lf",&族歼渣x,&a,&改慧b,&c,&d)

y=(a*x*x*x)+(b*x*x)+(c*x)+d

printf("%0.7lf",y)

return 0

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12321728.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存