看板 NTUGIEE_EDA 關於我們 聯絡資訊
※ 引述《gwliao (gwliao)》之銘言: #include <iostream> #include <cmath> #include <cstdio> using namespace std; int main(void) { double d1 = 0.576923; double d2 = 0.433333; float f1 = 0.576923; float f2 = 0.433333; int i1 = 2288000; int i2 = 5250000; float f3,f4,f5,f6,f7; f3=i1*f1; f4=i2*f2; f5=f3+f4; f6=i1*f1+i2*f2; printf("f3+f4 %2.30f\n",f5); printf("i1*f1+i2*f2 %2.30f\n",f6); f7=i1*d1+i2*d2; printf(" %2.30f\n",f7); } 這就是答案! 在x86核心中, float是float嗎? 還不知道的話.............去旁聽Computer Architecture吧~~~~~~~~ (一開始我知道了, 只是....我記錯了, 這功能是x86有實做, 而不是Sun) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.230.125
gwliao:我手上是K7的資料, 我想P4應該也差不了多少. 03/19 00:49
gwliao:K7的x87中,有8個80-bit internal FP registers. 03/19 00:50
gwliao:Sun在Reg之間的FP運算有轉換type的動作. 03/19 00:52
gwliao:x86看樣子沒有. 03/19 00:52
gwliao:所以Sun的結果是正確的, 但x86的結果比較接近真實. XD 03/19 00:54
Donnie:印象中 Intel 裡面也是 80bit 的 FP ALU 03/19 16:08
gwliao:應該有, 因為我覺得這是跟IEEE754的實做有關. 03/19 21:35
moonshade:所以amd 和p4的結果是一樣的嗎? 我們有amd的機器了吧? 03/20 02:06
gwliao:剛剛隨便試, P4和AMD K7有這問題, 但AMD K8和Sun沒有. 03/20 07:25