在DSP上做數(shù)據(jù)處理遇到,浮點(diǎn)型存儲(chǔ)格式,轉(zhuǎn)換成十進(jìn)制的浮點(diǎn)型參與運(yùn)算。
最終通過用union與struct,問題解決了。對于這一類問題:位操作。其實(shí)每個(gè)平臺(tái)的庫代碼里有現(xiàn)成的例子。那就是每個(gè)平臺(tái)的庫中都有寄存器的定義。就是用union與struct,即可解決。
typedef union { float f_val; struct { unsigned long datatail: 23; unsigned long exponent : 8; unsigned long sign : 1; } bits;} myfloat;
在處理函數(shù)中,做賦值即可:
val.bits.sign = data_sign; val.bits.exponent = data_exp; val.bits.datatail= data_tail; fReceive = val.f_val; //返回 fReceive 是float型 return fReceive;
審核編輯:符乾江
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報(bào)投訴
相關(guān)推薦
概述: 由于浮點(diǎn)數(shù)的定義規(guī)則,導(dǎo)致浮點(diǎn)數(shù)不能通過二進(jìn)制精確表示,所以在浮點(diǎn)數(shù)計(jì)算過程中,會(huì)出現(xiàn)兩個(gè)值一樣的浮點(diǎn)數(shù)進(jìn)行比較相等計(jì)算時(shí)結(jié)果并不相
發(fā)表于 01-06 10:07
?157次閱讀
我最近在用ADS1282,采集到的數(shù)據(jù)傳到PC上應(yīng)該怎么轉(zhuǎn)為浮點(diǎn)數(shù)?比如說通過串口調(diào)試助手收到一個(gè)采樣點(diǎn)的數(shù)據(jù)為 FF FF 9D 17,它的真實(shí)浮點(diǎn)數(shù)是多少呢?我知道ADC是以補(bǔ)碼
發(fā)表于 12-13 06:23
TLV320AIC3106 音頻芯片怎么發(fā)送、接收浮點(diǎn)數(shù)呢?是把浮點(diǎn)數(shù)轉(zhuǎn)成整數(shù)嗎?如果是該怎么轉(zhuǎn)呢?
經(jīng)AD采樣后得到的是整數(shù),又該怎么轉(zhuǎn)換成原始的浮點(diǎn)數(shù)呢?
發(fā)表于 11-05 07:13
與下位機(jī)數(shù)據(jù)交流及通訊時(shí),經(jīng)常有浮點(diǎn)數(shù)與十六進(jìn)制字符串相互轉(zhuǎn)化的需求,經(jīng)過兩天總結(jié),找到了最簡潔的相互轉(zhuǎn)化的方法,萌新歡迎大佬指正,文件也附上。*附件:HEX字符串與浮點(diǎn)數(shù)
發(fā)表于 10-21 19:51
十進(jìn)制數(shù)據(jù)轉(zhuǎn)十六進(jìn)制字符_轉(zhuǎn)ASCII碼
發(fā)表于 09-18 10:17
?0次下載
1、芯片:STM32F103C8T62、環(huán)境:STM32CubeIDE3、問題:printf浮點(diǎn)數(shù),浮點(diǎn)數(shù)數(shù)值丟失如 float A=25.6666;float B=24.7777;實(shí)際打印
發(fā)表于 06-03 07:07
電子發(fā)燒友網(wǎng)站提供《十六進(jìn)制逆變器HC04數(shù)據(jù)表.pdf》資料免費(fèi)下載
發(fā)表于 05-28 10:02
?0次下載
電子發(fā)燒友網(wǎng)站提供《十六進(jìn)制逆變器數(shù)據(jù)表.pdf》資料免費(fèi)下載
發(fā)表于 05-23 09:45
?0次下載
電子發(fā)燒友網(wǎng)站提供《CMOS十六進(jìn)制緩沖器/轉(zhuǎn)換器CD4009UB CD4010B TYPES 數(shù)據(jù)表.pdf》資料免費(fèi)下載
發(fā)表于 05-20 10:30
?0次下載
電子發(fā)燒友網(wǎng)站提供《十六進(jìn)制驅(qū)動(dòng)器數(shù)據(jù)表.pdf》資料免費(fèi)下載
發(fā)表于 05-17 10:07
?0次下載
電子發(fā)燒友網(wǎng)站提供《十六進(jìn)制反轉(zhuǎn)驅(qū)動(dòng)器數(shù)據(jù)表 .pdf》資料免費(fèi)下載
發(fā)表于 05-14 10:48
?0次下載
電子發(fā)燒友網(wǎng)站提供《帶CLEAR的十六進(jìn)制/四進(jìn)制D型觸發(fā)器數(shù)據(jù)表.pdf》資料免費(fèi)下載
發(fā)表于 05-13 09:34
?0次下載
電子發(fā)燒友網(wǎng)站提供《帶CLEAR的十六進(jìn)制/四進(jìn)制D型觸發(fā)器數(shù)據(jù)表.pdf》資料免費(fèi)下載
發(fā)表于 05-08 10:55
?0次下載
一、簡介1、常見的浮點(diǎn)數(shù)表示方式是IEEE754標(biāo)準(zhǔn),它規(guī)定了浮點(diǎn)數(shù)的存儲(chǔ)格式和運(yùn)算規(guī)則,這個(gè)標(biāo)準(zhǔn)定義了兩種浮點(diǎn)數(shù)表示:單精度和雙精度。2、任何一個(gè)浮點(diǎn)數(shù)的二
發(fā)表于 03-18 08:09
?8917次閱讀
實(shí)際上,計(jì)算機(jī)本身是不需要十六進(jìn)制的,計(jì)算機(jī)只需要二進(jìn)制,需要十六進(jìn)制的是人。
發(fā)表于 02-25 11:47
?1187次閱讀
評論