亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

現實世界中的任何CPU是否不使用IEEE 754?

現實世界中的任何CPU是否不使用IEEE 754?

www說 2019-10-12 10:34:23
我正在基于以下假設優化數字/統計庫的排序功能:在過濾掉所有NaN并進行一些調整之后,浮點數可以比較為32位整數而不改變結果,而雙精度數可以比較為64位整數。這似乎可以將這些數組的排序速度提高40%左右,只要浮點數的位級表示為IEEE 754,我的假設就成立。人們實際使用的任何實際CPU(不包括)在嵌入式設備中(此庫不針對的對象)使用其他可能會打破此假設的表示形式?https://zh.wikipedia.org/wiki/Single-precision_floating-point_format(binary32,也稱為float使用IEEE754的系統)https://zh.wikipedia.org/wiki/Double-precision_floating-point_format(binary64,也稱為double使用IEEE754的系統)
查看完整描述

3 回答

?
胡說叔叔

TA貢獻1804條經驗 獲得超8個贊

除了有缺陷的奔騰以外,任何基于x86或x64的CPU都使用IEEE 754作為其浮點運算標準。


這里是FPA標準及其采用的簡要概述。


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.

除非您計劃在相當奇特的CPU體系結構上支持庫,否則可以安全地假設目前有99%的CPU符合IEEE 754。


查看完整回答
反對 回復 2019-10-12
?
動漫人物

TA貢獻1815條經驗 獲得超10個贊

PowerPC處理器(Macs直到2006-2007年才使用Mac,目前使用的IBM服務器數量很多)使用128位格式,其中包括兩個double表示long double,如果使用IEEE 754擴展格式,則采用這種格式。


但是,在C或Objective-C中,沒有可移植的方式將32位或64位浮點數解釋為整數(假設float和uint32_t或double和uint64_t具有相同的位數)。當我需要做這種事情時,我不得不根據編譯器編寫不同的代碼(一個使用聯合,一個通過將double *轉換為long long *)。不知道用C ++重新解釋是否可以移植。


查看完整回答
反對 回復 2019-10-12
  • 3 回答
  • 0 關注
  • 972 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號