0
在下面的代碼,方法A從方法B.不同不同的結果有人可以解釋爲什麼 輪_mm_cvt_ss2si到偶數時小數部分恰好爲0.5?_mm_cvt_ss2si給出比簡單的舍入
float f;
// rounding method A
_mm_cvt_ss2si(_mm_load_ss(&f));
// rounding method B
(long)((f>0.0f) ? (f + 0.5f):(f -0.5f));
Round-to-even是IEEE的默認值。 – Mysticial
當要舍入的數字恰好爲中途時,MXCSR寄存器中的舍入模式開始起作用。這適用於普通的FP操作(添加,乘法,..),我認爲它也適用於這個操作。默認模式是將'中途'數字四捨五入到最接近的偶數結果。我無法找到有關它的實際工作情況的好信息,但是您可以嘗試更改這些位。 – greggo