Home > 一般 > min(x, NaN) の扱いが違う罠

min(x, NaN) の扱いが違う罠

C++ のプログラムを Java に移植していてハマった罠.下の2つのプログラムは異なる値を出力する.

#include <iostream>
int main(int argc, char *argv[]) 
{
  std::cout << (std::min(1.0, 0.0/0));
  return 0;
}
import java.io.*;
import java.util.*;
class test {
    public static void main(String [] args) throws Exception {
    System.out.println(Math.min(1.0, 0.0/0));
    }
}

C++ だと min(x, NaN) == x っぽく,他方,Java だと min(x, NaN) == NaN っぽい.

★下記に2つの英単語をスペースで区切って入力してください

Home > 一般 > min(x, NaN) の扱いが違う罠

Search
Feeds

Page Top