java的Math.pow源码看到了这句 if (x != x || y != y),是什么意思呀? 5C

public static double pow(double x, double y)
{
// Special cases first.
if (y == 0)
return 1;
if (y == 1)
return x;
if (y == -1)
return 1 / x;
if (x != x || y != y)
return Double.NaN;
.......
}
请问 if (x != x || y != y)这句是什么意思呀?

4个回答

图片说明

使用x != x,用于判断该值是不是NaN。不是上面的朋友说的精度问题,等号操作使用比较两个数据按照位数判等,所以一定是等的,除了NaN(0/0.0)

其实就是验证是否等于自身。防止你输入的小数,因为java中超出精度的小数基本是不等于自己的。用此可判断你输入的数是否超出精度范围。
如果if (x != x || y != y)为true,则说明你输入的数在精度范围。反之则超出精度范围,会得到不正确的结果。

你可能要理解下java中NaN代表的是什么含义了,Double.NaN的定义是public static final double NaN = 0.0d / 0.0;实际上0.0d/0、0/0.0d、0.0d/0.0d都是NaN,NaN的这个值本身和本身是不相等的,比如你写一个输出语句System.out.println(0.0d / 0 == 0.0d / 0);, 这个就会输出false

判断x和y是不是Double.NaN值!

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
x^=y^=x^=y;
这句话啥意思?rn int x = 2010; rn int y = 2012; rn x^=y^=x^=y;rn System.out.println("x= " + x + "; y= " + y);rn就是x^=y^=x^=y;这句话,谢谢!
Math.pow(x,y)使用注意事项
首先明确Math.pow(x,y)的作用就是计算x的y次方,其计算后是浮点数,这里先看一个例子:例1:153是一个非常特殊的数,它等于它的每位数字的立方和,即153=1*1*1+5*5*5+3*3*3。编程求所有满足这种条件的三位十进制数。输出格式:按从小到大的顺序输出满足条件的三位十进制数,每个数占一行。public class Main { static int a ,b ,c; pub...
python中items =[[x, y]for (y, x) in pairs]是什么意思
items是列表nitems =[[x, y]for (y, x) in pairs]是什么意思
c新手请教 x>y?x:y 是什么意思
c新手请教 x>y?x:y 是什么意思
请教关于宏 #swap(x,y) (x)^=(y)^=(x)^=y
各位大虾小弟请教c中下面低宏定义是如何实现两数交换的及"^"的应用!rn#swap(x,y) (x)^=(y)^=(x)^=yrnrn另请教c++的rna=1<<32;rncout<<"1<<32=:"<
请教宏 #swap(x,y) (x)^=(y)^=(x)^=y
各位大虾小弟请教c中下面低宏定义是如何实现两数交换的及"^"的应用!rn#swap(x,y) (x)^=(y)^=(x)^=yrnrn另请教c++的rna=1<<32;rncout<<"1<<32=:"<
z = (x - y) + y
我在阅读c99标准的时候遇见这样的问题:rnz = (x - y) + y ; // not equivalent toz = x;rn不理解是为什么,求帮助
sin(x)=y,y已知,如何求x?cos(x)=y,y已知,如何求x?
妈的,数学全忘了.教科书早就喂鱼去了.rn知道的快吱一声.
y=x,y=-x图像不垂直的
我想画y=x,y=-x的图像,代码如下rnrnPicture1.ScaleLeft = -3rnPicture1.ScaleWidth = 12rnPicture1.ScaleTop = 10rnPicture1.ScaleHeight = -12rnrnDim X, Y As DoublernrnFor X = -6 To 9 Step 0.001rnY = XrnPicture1.PSet (X, Y)rnNext XrnrnrnFor X = -6 To 9 Step 0.001rnY = -XrnPicture1.PSet (X, Y)rnNext Xrnrn可是为什么画出来的图像,也就是两条直线看起来不垂直的呢?
x或y等于x加y
给定 x, k ,求满足 x + y = x | y 的第 k 小的正整数 y 。 | 是二进制的或(or)运算,例如 3 | 5 = 7。比如当 x=5,k=1时返回 2,因为5+1=6 不等于 5|1=5,而 5+2=7 等于 5 | 2 = 7。 暴力枚举法:我们从1遍历到最大的长整型数(long long),求出满足要求的第k小的数。时间复杂度过于庞大。代码如下:int theN
逻辑判断 !(x^y) 等价于 x==y
逻辑判断   !(x^y)   等价于 x==yx只有在等于y的时候,x^y=0否则=1;
x && y 先算x还是y ?
其它运算符方向怎样?与C语言有没有区别?
比较X^y 与 Y^x的大小
这道题,由于x,y的值可能会比较大,直接利用函数计算不太现实,我就想着化简一下这个式子,因为总是觉得 这些东西以前接触过,折腾了好一会,心里还是无解,就在网上搜了搜,结果搜出来一个证明题。 已知x,y∈R,且x>y>e(其中e是自然对数的底数),试比较xy与yx的大小,并给出证明过程. 另外的一个解答:http://sx.zxxk.com/article/166602.html 利...
x=y?
各位大侠:rn 我最近开始学java,安装了j2sdk1.4.0后在autoexec.bat中进行了如下设置:rn set Path=%PATH%;C:\j2sdk1.4.0\binrn set CLASSPATH=.;C:\j2sdk1.4.0\lib\dt.jar;C:\j2sdk1.4.0\lib\tools.jarrnrnpublic class Hellornrnpublic static void main(String args[])rnrn System.out.println("Hello");rn rnrnrn在ms-dos下输入:javac c:\ Hello.java后编译通过,产生Hello.class文件,rn然后输入java c:\ Hello rn提示exception in thread "main" java.lang.NoClassDefFoundError:Hellornrnrn请问这是怎么回事呢?:)rnrn盼回复!
x=(y
java中 int x=3, y=4;rnx=(y
x^=y
RT
String(x,y,z,a)是什么意思?
String desFile=new String(b4,0,0,bytes2);rnrn说详细点!!!rn谢谢。
离散数学中的x|y是什么意思?
x|y表示的是x整除y,y被x整除。 举个栗子:                2|4,意思是4被2整除,即2整除4;                1|3,意思是3被1整除,即1整除3;                 5|15,意思是15被5整除,即5整除15。 我们会发现“|”运算符号左边的数一定小于运算符号右边的数。 这个问题一般会在离散数学中看到。 现在好理解了嘛?...
Canvas->MoveTo(X,Y)是什么意思
void __fastcall TForm1::FormMouseMove(TObject *Sender, TShiftState Shift,rn int X, int Y)rnrn Canvas->MoveTo(X,Y);rnrn其中Canvas是什么啊,做什么用的
fState [x][y] ^= 1 ;是什么意思?
在《windows 程序设计》第五版 看到rnfState [x][y] ^= 1 ;rn我知道这句意思是 把fState [x][y]的值原来是1变为0,原来是0变为1rnrn^= 是什么运算符~什么意思~怎么用~没见过啊~rn请高手赐教rn谢谢
((z < x) ? x : ((z > y) ? y : z))含义是什么?
((z < x) ? x : ((z > y) ? y : z)) 含义是什么?
X=5FH,Y=A3H. 则X·Y⊕Y=?
我为什么算的结果是5CH。而答案是FCH?rn求解。
x的y次方的算法是什么?
如果x的y次方(若y是整数可以一直连乘,但若y=2.3类的含有小数的。应该什么做呢?
java中x^=y^=x^=y交换整形数据Bug
或许不少做过c语言或者c++的朋友都知道,如果是整形数据x和y,通过x^=y^=x^=y ,就可以交换x和y的值。但是如果想在java中这么做,那就哈哈哈哈~ 让我们直接看一下这么做的后果: 瞧见了没,y是变成1了,但是x却并不等于2,而是等于0。 首先我们来解析一下,如果通过异或来交换两个整数,其正确流程如下: x = x ^ y; y = y ^ x; x = y ^ x; ...
超级菜鸟!java怎么写 x^y,x的y次方?
超级菜鸟!java怎么写 x^y,x的y次方?rn只能循环吗?rn还有开根怎么办?rn我查了java.lang.math里面,没有找到阿。DX帮忙啊
java,已知x!+y!+z!=xyz,求x,y,z
x,y,z是1-9之间的数字。我自己写了一个,不知道哪出错了,求解。。rn[code=Java]rnpackage erfenfaqiujie;rnrnpublic class fsdd rnrn /**rn * @param argsrn */rn public static void main(String[] args) rn // TODO Auto-generated method stubrn // 求 x!+y!+z!=xyz的自然根。rn int x,y,z;rn double x1=1,y1=1,z1=1;rn rn for(int i=100;i<=999;i++)rn x=i/100;rn y=(i/10)%10;rn z=i%10;rn rn for(int j=1;j<=x;j++)rn x1*=j;rn rn for(int k=1;k<=y;k++)rn y1*=k;rn rn for(int l=1;l<=z;l++)rn z1*=l;rn rn rn if(x1+y1+z1==i)rn System.out.println(i);rn rn rn rn rnrnrnrn[/code]rnrn菜鸟求指点。
#define MIN(x,y) x
给大家一个程序rn[code=C/C++]rn#include rn#define MIN(x,y) x
JAVA画出抛物线y=x*x的图像
JAVA画出抛物线y=x*x的图像,非常靠谱,非常实用
2的x次方=x的y次方,x= ??
2的x次方=x的y次方,x= ??
求救: f(x,y)=f(x-1,y)+f(x+1,y)+f(x,y-1)+f(x,y+1),求f(x,y).
其中,rnf(x,0)=0,f(500,y)=50,f(x,500)=75,f(0,y)=100.rn然后,rn0<=x,y<=500,x,y是正整数。rn要求是,rn输入x,y,返回f(x,y).rnrnrn向各位大侠求救了,小弟想了好几天,实在是没有办法了,就贴到这里来了。这个用简单的函数递归实现不了,rn会出现重复递归的问题。听同学说可能要用带记录的递归,但是挺迷惑的。还望大侠们指教,不胜感激!rn
#define howmany(x, y) ((unsigned int)(((x)+((y)-1)))/(unsigned int)(y))嘛意思?
#define howmany(x, y) ((unsigned int)(((x)+((y)-1)))/(unsigned int)(y))
#define set_s (x,y) strcpy(s[x].name,y);s[x].size=strlen(y); 报错
[code=C/C++]#includern#include rn#define set_s (x,y) strcpy(s[x].name,y);s[x].size=strlen(y);rn#define nmemb 3rnstruct testrnrnchar name[20];rnint size;rns[nmemb];rnrnvoid main()rnrnrnFILE * stream;rnset_s(0,"Linux!");rnset_s(1,"FreeBSD!");rnset_s(2,"Windows2000.");rnstream=fopen("c:\\a.txt","w");rnfwrite(s,sizeof(struct test),nmemb,stream);rnfclose(stream);rnrn[/code]rn\f.cpp(15) : error C2065: 'x' : undeclared identifierrn'y' : undeclared identifierrn\f.cpp(15) : error C2143: syntax error : missing ';' before ''rn\f.cpp(16) : error C2143: syntax error : missing ';' before ''rn\f.cpp(17) : error C2143: syntax error : missing ';' before ''rnrn说set_s(0,"Linux!");的xy没有定义,怎么整,谢谢~~
圆,y=x²
圆 #include"stdio.h" #include"math.h" main() {      double y;      int x,m;      for(y=10;y>=-10;y--)      {         m=2*sqrt(100-y*y);         for(x=1;x            printf(" ");
x的y次方
x的y次方
Python(x,y)的下载安装
1.下载 下载地址:ftp://ftp.ntua.gr/pub/devel/pythonxy/ 访问该地址,选择需要的版本,点击下载。我安装的版本是2.7.2.3. 2.安装 双击下好的应用程序,接下来选择full,全部安装,等待安装完成就行了。安装中途360可能会弹出“有程序正在修改系统变量”之类的,这是Python(x,y)集成了Python的环境,安装的时候会修改系统变量里...
Python(x,y)的安装
Python(x,y)的安装 下载的网址为:http://pythonxy.connectmv.com/ 安装完成后,界面如图所示: Shortcuts:启动各种应用程序 Documentation:打开各个软件包的文档 About:查看所安装的程序库的版本信息 点击下图中画红圈处 输入“Python”和“print ‘hello Python’”,出现如下图所示界面,Pyt...
gotoxy(x,y);
#include rnvoid main()rnrn int x=10,y=10;rn gotoxy(x,y);rnrnrnrn在vc下出现error C2065: 'gotoxy' : undeclared identifierrn???????
如何计算X^Y?
X的Y次方,包括小数,如rn0.5^0.7=0.61557
怎么获取 x省y市 里的x和y的内容呢?X和Y是变量!正则
怎么获取 x省y市 里的x和y的内容呢?X和Y是变量!正则rn高手指点下rn用正则或者其他方法!
# define MIN(x, y) ((x) > (y) ? (y) : (x)) 宏展开后还带最外边的小括号吗?
# define MIN(x, y) ((x) > (y) ? (y) : (x))rnrn是(x > y ? y : x)还是 x > y ? y : xrn???rn另外:为什么要加个小括号?
相关热词 c++和c#哪个就业率高 c# 批量动态创建控件 c# 模块和程序集的区别 c# gmap 截图 c# 验证码图片生成类 c# 再次尝试 连接失败 c#开发编写规范 c# 压缩图片好麻烦 c#计算数组中的平均值 c#获取路由参数

相似问题

1
thymeleaf为啥访问回调函数值一直都是null
6
java的简单自定义函数问题
1
Openlayers里面 为什么瓦片总数除以二得到的是中心点呢
3
题目是:请问这个代码哪里要改进,我提交一直显示输入为实数 答案错误。
0
Uncaught TypeError: $(...).circleChart is not a function
1
java 给图片打上水印发现,图片的大小缩小了原来是70KB打完水印变为30KB
2
求教大佬,用C语言写出所有三位数的水仙花数,我用了pow函数,结果少输了一个水仙花数
1
如何把这个段代码不改变意思 更改成一个跟为简便的方法
2
java中怎么给一个数开三次方?注:math.pow(double a,double b)不准确
1
小白求个大佬帮我看一下?不管怎么测试结果都是ling
2
在service里使用加速度传感器,软件却始终闪退
0
Using a tf.Tensor as a Python bool is not allowed这个报错该如何解决?
2
使用scanf语句输入时,加逗号和不加逗号为何出现不同
1
tensorflow自定义的损失函数 focal_loss出现inf,在训练过程中出现inf
0
如何用JavaScript实现方位角计算并且调用指针指示角度?
1
使用seek方式创建的文件,为什么默认打开编码是ANSI?
2
如何快速从大量图片中,查找出相似图片
0
单链表实现的多项式加减法计算,输入的负号变成了正号,并且幂为负时显示错误,这个程序应该怎么改?
1
C++ 编译错误:error: invalid operands of types 'double***' and 'double' to binary 'operator/'?
0
C语言 二分法求多项式单根 程序通不过oj的测试