浮點數運算的效能,與整數相比

2021-03-31 14:38:35 字數 1261 閱讀 5662

測試結果:

test std::vector(1000): 

(+:234) (-:266) (*:281) (/:1687)

(+:219) (-:234) (*:282) (/:1656)

(+:234) (-:235) (*:265) (/:1625)

(+:235) (-:218) (*:297) (/:1594)

test std::vector(1000): 

(+:219) (-:234) (*:313) (/:1625)

(+:218) (-:235) (*:265) (/:1704)

(+:218) (-:219) (*:297) (/:1594)

(+:234) (-:234) (*:282) (/:2109)

test std::vector(1000): 

(+:250) (-:266) (*:265) (/:2328)

(+:266) (-:250) (*:250) (/:2281)

(+:282) (-:250) (*:250) (/:2609)

(+:250) (-:250) (*:250) (/:2781)

test std::vector(1000): 

(+:422) (-:328) (*:344) (/:2422)

(+:344) (-:328) (*:578) (/:2422)

(+:360) (-:453) (*:359) (/:2422)

(+:297) (-:328) (*:313) (/:2312)

結論:int,long,float,double的 +, -, *  運算效能是一樣的,除法運算比較慢,占用時間較多,要盡量避免除法。

即:加,減,乘的運算時間與資料型別無關,所以可以隨意使用更精確的float、double型,不影響程式速度。

以下是測試**(請用vc7生成乙個console型別的空專案,將如下**儲存成檔案加入專案,release模式編譯):

#include

#include

#include

#include

#include

#include

#include // for boost::bind

#include // for boost::lambda

#include

template

void test(t &vec,to &out)

int main(int argc,char *argv)

大整數運算 浮點數加法

題目描述 求2個浮點數相加的和 題目中輸入輸出 現浮點數都有如下的形式 p1p2 pi.q1q2 對於整數部分,p1p2 pi是乙個非負整數 對於小數部分,不等於0 輸入 對於每組案例,第1行是測試資料的組數n,每組測試資料佔2行,分別是兩個加數。每組測試資料之間有乙個空行,每行資料不超過100個字...

浮點數運算

浮點數運算的公式 n m re n代表浮點數 m代表尾數 r代表基數 e代表指數 所謂浮點數就是類似我們高中學的科學計數法 比如 1000 就表示為 1.0 103 那麼浮點型計算就是兩個用科學計數法表示的數之間進行的計算 例如 1.0 102 1.19 103 該如何計算 步驟 1.對階 所謂對階...

浮點數運算

今天學習了浮點數運算 加減乘除 浮點數運算主要包括兩部分 指數運算和尾數運算。在ieee754標準下,指數運算就是階碼的運算,類似於無符號數運算。尾數運算是原碼運算。之前一直很疑惑為什麼前面的教材在介紹原碼運算 加減乘除 所舉的例子都是小數運算。現在猜想那部分內容可能只是為了浮點數運算做鋪墊,這裡才...