欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標(biāo)題: 浮點(diǎn)數(shù)*1000 用什么方法提高運(yùn)算效率,比如移位運(yùn)算? [打印本頁]

作者: 李冬    時間: 2022-5-31 17:36
標(biāo)題: 浮點(diǎn)數(shù)*1000 用什么方法提高運(yùn)算效率,比如移位運(yùn)算?
浮點(diǎn)數(shù)小數(shù)點(diǎn)移位問題

作者: Hephaestus    時間: 2022-5-31 18:30
C51庫里面已經(jīng)是最優(yōu)解了,沒法更快。
作者: MCU_FANS    時間: 2022-5-31 18:34
X * (1024 - 24) = X * 1024 - X * 24 = (X << 10) - ( (X <<3) *3)
這樣可以嗎?應(yīng)該還有更好的辦法。
作者: Hephaestus    時間: 2022-5-31 19:22
MCU_FANS 發(fā)表于 2022-5-31 18:34
X * (1024 - 24) = X * 1024 - X * 24 = (X

不行,你的辦法針對整數(shù)是好用的。但是浮點(diǎn)數(shù)移位可沒那么簡單。
作者: cdhigh    時間: 2022-5-31 19:24
MCU_FANS 發(fā)表于 2022-5-31 18:34
X * (1024 - 24) = X * 1024 - X * 24 = (X

只有整數(shù)才可以移位,樓主要求的是浮點(diǎn)數(shù)乘以1000。
而且你的分解里面還是有一個乘以3,和乘以1000沒區(qū)別,
除非你用匯編直接實(shí)現(xiàn),否則C語言編譯出來的代碼是一樣的(*3和*1000都會轉(zhuǎn)換為int運(yùn)算)
作者: 188610329    時間: 2022-5-31 20:35
浮點(diǎn)數(shù) 里面存的是 2進(jìn)制 浮點(diǎn), 如果你說 *4, 或者 *256   *1024 之類的,可以操作指數(shù)位,來改變大小。
作者: Hephaestus    時間: 2022-5-31 21:11
cdhigh 發(fā)表于 2022-5-31 19:24
只有整數(shù)才可以移位,樓主要求的是浮點(diǎn)數(shù)乘以1000。
而且你的分解里面還是有一個乘以3,和乘以1000沒區(qū) ...

你說得對,我查了下4.5e6和4.5e9的IEEE754單精度格式,x1000的過程是把階碼(Exponent)加10,相當(dāng)于x1024,然后把尾碼(Mantissa)除1.024。那么x3大概是把階碼加2,把尾碼除1.5。

也就是說x1000和x3的工作量是一樣的,板凳的代碼比直接x1000更慢,代碼數(shù)量更多。
作者: MCU_FANS    時間: 2022-6-2 10:05
Hephaestus 發(fā)表于 2022-5-31 19:22
不行,你的辦法針對整數(shù)是好用的。但是浮點(diǎn)數(shù)移位可沒那么簡單。

我審題太馬虎。浮點(diǎn)數(shù)移位行不通,有些平臺浮點(diǎn)數(shù)移位甚至直接報錯。




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1