回覆列表
  • 1 # 一橫一撇捺

    float32 肯定比 float64 快啊 不然也不用降低精度了 至於精確到幾個clock cycle 就不清楚了

    還有一個因素會影響計算速度就是你的計算的規模,如果是大矩陣上計算的話 double 需要的 快取比 float多 如果同樣讀一個cache line的話 double陣列能讀取多資料就要少一半。我們知道 讀主存 100+ clock cycle 讀快取記憶體大約2-3 個clock cycle 透過最佳化每次讀取的元素的個數 float 運算可能會有顯著的速度提升。

  • 2 # 和不同

    和C語言本身無關,和你使用的CPU有關。

    如果CPU同時支援單/雙精度浮點運算,且單精度運算速度較快,則float運算較快;

    如果CPU只支援雙精度浮點運算,則兩者速度相同,甚至double會更快;

    如果CPU不支援浮點運算,要靠定點模擬,那肯定是float更快。

  • 3 # Ren

    看硬體平臺和編譯器,PC平臺差別不大,微控制器平臺天差地別,有的微控制器沒有FPU,純靠軟體模擬浮點運算,一個浮點除法隨隨便便就是上千個週期,有FPU的話,可能也就是2~4個週期,差得很多。對於32位帶浮點單元的平臺,一般單精度比較快,雙精度還是有一些額外的運算量。

    理解不深,瞎說。

  • 4 # zhangyiant

    如果你不知道那個快,那麼說明你不關心cpu,在大多數情況下,這個快慢對你沒有影響,建議直接使用double,當變成系統瓶頸時再考慮快慢。

  • 5 # 我不是琪琪

    c不知道

    我只知道vb.net

    double的時間是float的幾倍。

    我寫了個程式,包含大量分支,只要把double換成float,整個時間就降低1/5,考慮到數學計算只佔一小部分分支佔大部分,那double對系統影響就很大。

    6700k

    win10 64bit

  • 中秋節和大豐收的關聯?
  • 太陽是一篇什麼體裁?