Aka*_*ash 6 c floating-point floating-point-conversion
尝试时遇到编译器错误
float_val=float_val<<1;
Run Code Online (Sandbox Code Playgroud)
它给出了一个错误,说"错误C2296:'<<':非法,左操作数的类型为'float'"
不能左移左浮球?为什么会这样?
moo*_*dow 13
你不能留下移位float
变量,因为(a)你的FPU通常没有暴露给你的桶形移位器,所以物理上不能生成代码来做到这一点,(b)它甚至意味着什么?基础位表示由多个具有不同含义的字段组成,您真的希望这些位相互渗透吗?
如果你想将该变量中的数字乘以2,那么你应该这样做.
如果你想重新解释float,因为某些类型的左移有意义(例如,一个适当大的无符号整数类型),对于像Carmack的平方根这样可怕的一些黑客攻击,嗯,你也可以这样做,但在现代硬件上它是高度的不太可能你真的需要:认真考虑是否有更好的方法来做你想要的.
归档时间: |
|
查看次数: |
14754 次 |
最近记录: |