3 回答

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超8個(gè)贊
除了有缺陷的奔騰以外,任何基于x86或x64的CPU都使用IEEE 754作為其浮點(diǎn)運(yùn)算標(biāo)準(zhǔn)。
這里是FPA標(biāo)準(zhǔn)及其采用的簡(jiǎn)要概述。
IEEE 754: Intel x86, and all RISC systems (IBM Power
and PowerPC, Compaq/DEC Alpha, HP PA-RISC,
Motorola 68xxx and 88xxx, SGI (MIPS) R-xxxx,
Sun SPARC, and others);
VAX: Compaq/DEC
IBM S/390: IBM (however, in 1998, IBM added an IEEE 754
option to S/390)
Cray: X-MP, Y-MP, C-90; other Cray models have been
based on Alpha and SPARC processors with
IEEE-754 arithmetic.
除非您計(jì)劃在相當(dāng)奇特的CPU體系結(jié)構(gòu)上支持庫(kù),否則可以安全地假設(shè)目前有99%的CPU符合IEEE 754。

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超10個(gè)贊
PowerPC處理器(Macs直到2006-2007年才使用Mac,目前使用的IBM服務(wù)器數(shù)量很多)使用128位格式,其中包括兩個(gè)double表示long double,如果使用IEEE 754擴(kuò)展格式,則采用這種格式。
但是,在C或Objective-C中,沒(méi)有可移植的方式將32位或64位浮點(diǎn)數(shù)解釋為整數(shù)(假設(shè)float和uint32_t或double和uint64_t具有相同的位數(shù))。當(dāng)我需要做這種事情時(shí),我不得不根據(jù)編譯器編寫不同的代碼(一個(gè)使用聯(lián)合,一個(gè)通過(guò)將double *轉(zhuǎn)換為long long *)。不知道用C ++重新解釋是否可以移植。
- 3 回答
- 0 關(guān)注
- 968 瀏覽
添加回答
舉報(bào)