在我看到的大多数代码double中float,即使不需要高精度也是最受欢迎的代码.
由于使用双重类型(CPU/GPU /内存/总线/缓存/ ...)时存在性能损失,这种双重过度使用的原因是什么?
示例:在计算流体动力学中,我使用的所有软件都使用了双打.在这种情况下,高精度是无用的(因为数学模型中的近似引起的误差),并且有大量的数据需要移动,使用浮点数可以减少一半.
今天的计算机功能强大这一事实毫无意义,因为它们被用来解决越来越复杂的问题.
所以我知道C++有一个运算符优先级
int x = ++i + i++;
Run Code Online (Sandbox Code Playgroud)
未定义,因为pre ++和post ++处于同一级别,因此无法确定哪个将首先计算.但我想知道的是,如果
int i = 1/2/3;
Run Code Online (Sandbox Code Playgroud)
未定义.我问的原因是因为有多种方法可以看(1/2)/ 3 OR 1 /(2/3).我的猜测是它是一个未定义的行为,但我想确认一下.
C++在链式乘法中的作用是什么?
int a, b, c, d;
// set values
int m = a*b*c*d;
Run Code Online (Sandbox Code Playgroud) 我使用浮点数进行这些操作:
这两个哪个更准确呢?
或者
这到底重要还是取决于具体情况?如果是这样,在什么情况下我应该选择哪一个?