我的问题很简单:我可以2 * 10
通过 (2 << 2) + 2
进行移位和加法但我不知道如何获取 2.2 * 10
带有移位和加法。任何建议将不胜感激。
-khan_gl
最佳答案
这有效:
2.2 + 2.2 + 2.2 + 2.2 + 2.2 + 2.2 + 2.2 + 2.2 + 2.2 + 2.2 + (0 << 1)
开个玩笑,你不能,因为你不能在 C++/C 中移动 float 。好吧,你可以(通过令人讨厌的类型双关),但随后你就会陷入未定义的行为。
此外,这样做没有任何意义。如果你正在进行乘法,那么只需使用 *
。编译器会将其转换为最有效的形式。
关于c++ - 带加法和移位的浮点 mul (*10),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9612892/