官术网_书友最值得收藏!

2.1 引言

2.1.1 浮點數簡介

浮點數,顧名思義,它的小數點位置是浮動的,跟隨最高位變動,因此它的絕對精度也是變動的。在CPU架構中,浮點數運算通常由FPU(CPU的協處理器)來處理,指令集參照IEEE 754實現,但是實踐中不一定會完全嚴格遵守這個標準。例如:在同一個CPU里FPU和SSE指令得到的結果不一致,因此對確定性有要求的程序不能直接使用浮點數來計算。而整數運算是確定的,本章在整數運算的基礎上,實現了一種簡單且高效的定點數運算方案。

2.1.2 32位浮點數(單精度)表示原理

在游戲開發中,如果使用浮點數,則通常使用32位的單精度浮點數。如表2.1所示為32位浮點數的結構。

表2.1 32位浮點數的結構

數學公式為

其中,S為符號位,S=0時為正數,S=1時為負數。E為階碼,能表示0~255的范圍,對應2的冪次-127~128。M表示尾數,表示范圍為0~8388607,對應1.0~1.99999988。

這里,浮點數的精度是不固定的,有效數的位數為7~8位。

主站蜘蛛池模板: 民权县| 略阳县| 清水县| 双鸭山市| 介休市| 内乡县| 米泉市| 乌拉特前旗| 昭通市| 剑川县| 平罗县| 土默特右旗| 潮州市| 剑阁县| 临泽县| 昭觉县| 满洲里市| 定远县| 莱芜市| 泌阳县| 缙云县| 南通市| 辽宁省| 寻甸| 和政县| 南江县| 图们市| 星座| 彰化县| 白朗县| 仙游县| 大姚县| 青浦区| 峨山| 通化县| 湟中县| 盈江县| 油尖旺区| 建始县| 三门县| 河源市|