てきとうなメモ

本の感想とか技術メモとか

+0.0と-0.0

そういえばIEEE754的には別物だったなあと。

#include <iostream>

int main(){
   volatile double x1 = -0.0;
   volatile double x2 = x1 + 0.0;
   
   std::cout << 1.0 / x1 << std::endl; //-inf
   std::cout << 1.0 / x2 << std::endl; // inf
}

+0.0とー0.0の演算についてはWikipediaにまとまっている。

普通の比較演算子(==)では同じ値になるからめんどくさい。