測試結果:
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標準下,指數運算就是階碼的運算,類似於無符號數運算。尾數運算是原碼運算。之前一直很疑惑為什麼前面的教材在介紹原碼運算 加減乘除 所舉的例子都是小數運算。現在猜想那部分內容可能只是為了浮點數運算做鋪墊,這裡才...