5

重複の可能性:モジュラス除算( )が整数でのみ機能するの
はなぜですか?%

このコードはCおよびC++では機能しませんが、C#およびJavaでは機能します。

float x = 3.4f % 1.1f;
double x = 3.4 % 1.1;

また、除算の剰余はPythonの実数に対して定義されています。

この操作がCおよびC++のfloatおよびdoubleに対して定義されていない理由は何ですか?

4

1 に答える 1

20

C委員会は、理論的根拠文書に浮動型の剰余演算子がない理由の位置を説明しました。

(6.5.5乗法演算子) C89委員会は、%演算子を拡張して浮動型で機能することを拒否しました。これは、そのような使用法がfmodによって提供される機能を複製するためです(§7.12.10.1を参照)。

于 2012-07-14T20:27:45.103 に答える