同様の質問LonginFloat、なぜですか?ここでは私が探しているものには答えません。
C#標準では、longからfloatへの暗黙的な変換が可能です。ただし、フロートとして表されたときに2 ^ 24を超えると、その「値」が失われます。C#標準では、ロングからフロートへの変換では「精度」が失われる可能性がありますが、「マグニチュード」が失われることはないと明確に規定されています。
私の質問は- 整数型に関して、「精度」と「大きさ」が意味するもの。3.333333と3.333329が計算に十分近いと見なされる可能性がある実数とは異なり、数値nは数値n + 1と完全に異なるわけではありません(つまり、精度プログラマーが何を望んでいるかによって異なります)。
- 長いから「静かに」価値を失う可能性があるため、longから微妙なバグへの招待をフロートさせる暗黙の変換を許可していません(C#プログラマーとして、私はコンパイラーがそのような問題から私を守るのに優れた仕事をすることに慣れています)
では、この変換を暗黙的に許可することで、C#言語設計チームの論理的根拠は何でしたか?longからfloatへの暗黙の変換を正当化するためにここで欠落しているのは何ですか?