1

使用 C# 后,我惊讶地发现 C++ 浮点数没有定义模运算符。显然也不是按位运算符。我决定了解更多并去寻找一张图表,其中列出了哪些基本类型为它们定义了运算符,哪些没有,但我找不到任何这种性质的东西。

我知道所有运算符是什么以及如何重载它们: http ://en.wikipedia.org/wiki/C%2B%2B_operators

但是,我不知道为每种基本类型定义了哪些运算符。

4

1 回答 1

1

所有运算符都是为整数类型(charshortintlong和)定义long long的。enum对于浮点类型(float,doublelong double),您没有也%没有“按位”运算符:<<, >>, ~, &,|^,因为它们对浮点没有多大意义。例如,您对 什么期望3.3 ^ 6.8?[1] 还是1.9 % 13.4?[1] 浮点除法中没有“余数”,因此很难想象它实际上应该给出什么。

如评论中所述,fmod%.

[1] 这些都是反问,我不希望有人能给出一个好的答案。

于 2013-10-02T21:33:41.907 回答