https://x.com/ufcpp/status/1856641230056415402
これ、正しくはどうあるべきなのか分かってなかったり…
float→intでオーバーフローしてるだけではないの?
using System;
float a = 1E10f;
int b = (int)a;
Console.WriteLine(b);
とかでもbの値はint.MinValueになるが…
個人的には、(uncheckedなコンテキストで)int範囲外の浮動小数点数をintに変換したとき、想定外の値に変換されてたとしても、あんまり文句は言えないかなあ、と思った。まあプラスの数がMinValueになるのは直感的には、変ではある。