>>30
それでもかまわない。その例だと誤差が極端に見えるが、
int i =100.9+100.2;
なら201の代わりに200になるだけ。
精度が欲しければ明示的に宣言すればよい
double a;
double b;
int c = float(a+b);
みたいに計算資源を節約することもできる。最近のCPUならありがたみはないが。

こういうこともできる。
string s="12"+"34"; //s="1234"
int i="12"+"34"; //i=46
そもそも、計算というのは何かに利用するために計算するのであって、
元のデータから押し売りする訳じゃない。
そう考えると需要が型を決めるというのも不自然ではないと思うが。