萌新求教,c语言float和double哪个算得快?
和C语言本身无关,和你使用的CPU有关。
如果CPU同时支持单/双精度浮点运算,且单精度运算速度较快,则float运算较快;
如果CPU只支持双精度浮点运算,则两者速度相同,甚至double会更快;
如果CPU不支持浮点运算,要靠定点模拟,那肯定是float更快。
float32 肯定比 float64 快啊 不然也不用降低精度了 至于精确到几个clock cycle 就不清楚了
还有一个因素会影响计算速度就是你的计算的规模,如果是大矩阵上计算的话 double 需要的 缓存比 float多 如果同样读一个cache line的话 double数组能读取多数据就要少一半。我们知道 读主存 100+ clock cycle 读高速缓存大约2-3 个clock cycle 通过优化每次读取的元素的个数 float 运算可能会有显著的速度提升。
看硬件平台和编译器,PC平台差别不大,单片机平台天差地别,有的单片机没有FPU,纯靠软件模拟浮点运算,一个浮点除法随随便便就是上千个周期,有FPU的话,可能也就是2~4个周期,差得很多。对于32位带浮点单元的平台,一般单精度比较快,双精度还是有一些额外的运算量。
理解不深,瞎说。
c不知道
我只知道vb.net
double的时间是float的几倍。
我写了个程序,包含大量分支,只要把double换成float,整个时间就降低1/5,考虑到数学计算只占一小部分分支占大部分,那double对系统影响就很大。
6700k
win10 64bit
C语言究竟是不是世界上最好的语言?
Php才是世界上最好的语言。
永远都是!!也从来不接受辩驳。
哈哈……………
计算机语言分为高级语言和低级语言。
低级语言主要有:汇编,c语言(当然谁也可以算是高级语言)
高级语言就更多了,Java,c++,go,c#等
还有就是脚本语言:shell, python, lua, js, php等
后面着重谈c语言。
以上我们几乎所有的操作系统的底层语言都是c语言。我们熟知的windows Linux,unix等,他们的底层都是用c写的,包含操作系统的内存管理,任务调度,输入输出系统,网络等。
随着各种语言层出不穷,也有盛衰,c语言一直是排行前三。
随着物联网iot的兴起,C语言在未来5~10年会得到很大的发展,联网的小设备由于其本身处理器的运行速度限制,使用过于高级语言去编写,不利于其执行速度和功耗。
php是世界上最好的语言,c语言是世界上最伟大的语言。
C语言是一门非常经典和重要的编程语言,它在计算机科学领域有着广泛的应用。但是说它是不是世界上最好的语言这个问题,其实没有一个确定的答案。
C语言具有高效、简洁、可移植等特点,因此在很多领域都得到了广泛的应用,比如操作系统、嵌入式系统、游戏开发等。但是随着计算机技术的不断发展,出现了很多新的编程语言,比如Java、Python、Go等,在某些方面甚至比C语言更加优秀。
因此,我们不能说C语言是最好的编程语言,只能说它在某些方面非常优秀,并且在很多领域都得到了广泛应用。当我们选择一门编程语言时,需要根据具体需求和场景来选择最适合自己的编程语言。