MofuMofu2 / typescript-sandbox

MIT License
0 stars 0 forks source link

マイナスの値を乗算するとなんで-0になるのか調べる #75

Closed MofuMofu2 closed 4 days ago

MofuMofu2 commented 1 year ago

次の計算結果になるのをみて、-0って何?となった。 IEEE 754の浮動小数の仕様だけど、いろいろ気になる。

-1 * 0 = -0
MofuMofu2 commented 1 year ago

-0と0は一緒なのか

厳密等価演算子で比較したがtrueになる。つまり一緒という判定になる。

const diffZero = () => {
  return -0 === 0 ? "same" : "different" // same
}
MofuMofu2 commented 1 year ago

やっぱりイコールだ。

$ node src/practice-operator/zero.js
same
MofuMofu2 commented 1 year ago

JavaScriptの数値はIEEE 754という仕様で決まっている。これは浮動小数点の算術方法の仕様。 で、この算術方法によって正のゼロと負のゼロが発生する。