自製簡易 128 位元浮點數 |
|
Leeway
一般會員 發表:2 回覆:18 積分:4 註冊:2003-06-13 發送簡訊給我 |
緣由:
由於 Motorola 68000 CPU 沒有浮點運算單元,故小弟自製虛擬浮點數,
struct DataStruct { DWORD Left; DWORD Right; }; struct DataStruct UserFloat;其最大數為 (4 byte) 4294967295, 今以 BCB 之 unsigned __int64 資料型態測試, 其最大數為 (8 byte) 18446744073709551615. 程式碼: //-------------------------------------------------------------------- #include//-------------------------------------------------------------------- 執行結果: sizeof(byte) : 1 sizeof(WORD) : 2 sizeof(DWORD) : 4 sizeof(float) : 4 sizeof(double) : 8 sizeof(long long) : 8 sizeof(__int64) : 8 sizeof(unsigned __int64) : 8 ******************************************** sizeof(UserFloat) : 16 Maximum Testing: 18446744073709551610.18446744073709551610 18446744073709551611.18446744073709551611 18446744073709551612.18446744073709551612 18446744073709551613.18446744073709551613 18446744073709551614.18446744073709551614 18446744073709551615.18446744073709551615 <- 最大值 0.0 <- 溢位 1.1 2.2 3.3 The Count Is Over ******************************************** The UserFloat DataType Maximum Is: 18446744073709551615.18446744073709551615 |
暗黑破壞神
版主 發表:9 回覆:2301 積分:1627 註冊:2004-10-04 發送簡訊給我 |
|
Leeway
一般會員 發表:2 回覆:18 積分:4 註冊:2003-06-13 發送簡訊給我 |
|
暗黑破壞神
版主 發表:9 回覆:2301 積分:1627 註冊:2004-10-04 發送簡訊給我 |
|
Leeway
一般會員 發表:2 回覆:18 積分:4 註冊:2003-06-13 發送簡訊給我 |
|
jimmy_and_you
初階會員 發表:20 回覆:74 積分:33 註冊:2003-05-12 發送簡訊給我 |
|
Leeway
一般會員 發表:2 回覆:18 積分:4 註冊:2003-06-13 發送簡訊給我 |
是的,主要就是顯示用的. 緣由:
由於 Motorola 68000 CPU 沒有浮點運算單元,且歷來的工程師在這片 PCB 版子上都只使用 WORD,DWORD 這兩種資料型態來避免掉一些特殊的系統陷阱,(且 GAME 畫面是由 RGB CRT 輸出訊號,故無法使用標準函式庫,只能使用公司同仁自製之 Tool 丟圖(包含文字圖形),而這 Tool 又只支援整數),故小弟自製虛擬浮點數,來達到在沒有浮點數可用的環境下又必須計算且顯示浮點數的需求. PS. 這種虛擬浮點數目前剛好適合小弟撰寫之百家樂遊戲使用,由於 Bet 跟 Credit 都是整數,只有在計算 Banker Win 的時候需要抽水 5% ,故 Credit = ((Bet * 95)/100) 即可得到抽水後數值,至於 Bet 的大小會影響到是否需另外處理 UserFloat,還有在計算得分時判斷 UserFloat.Right 是否大於 100 , 來做進位(UserFloat.Left ), 且 UserFloat.Right 清零,.....等等.都是為了在這特殊需求下而產生的. 發表人 - leeway 於 2005/02/05 19:00:34
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |