在DSP上做數(shù)據(jù)處理遇到,浮點型存儲格式,轉換成十進制的浮點型參與運算。
最終通過用union與struct,問題解決了。對于這一類問題:位操作。其實每個平臺的庫代碼里有現(xiàn)成的例子。那就是每個平臺的庫中都有寄存器的定義。就是用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;
審核編輯:符乾江
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
dsp
+關注
關注
560文章
8239瀏覽量
366316 -
數(shù)據(jù)轉換
+關注
關注
0文章
101瀏覽量
18512
發(fā)布評論請先 登錄
相關推薦
熱點推薦
嵌入式中的浮點型數(shù)據(jù)轉換為字節(jié)類型的三種方法
一般是以字節(jié)的形式進行數(shù)據(jù)交互。要想傳輸一個浮點數(shù)需要把浮點數(shù)轉換為字節(jié)的形式。
MCU不能直接保存浮點型
發(fā)表于 01-07 06:28
使用VScode的PIO開發(fā)GD32VF103,但是串口無法打印浮點數(shù)怎么解決?
我最近在使用VScode的PIO開發(fā)GD32V,使用的是longan的模板,但是我將串口輸出重定義到printf函數(shù)中,發(fā)現(xiàn)無法使用%f輸出浮點數(shù),想問問應該怎么配置,我看到的一種說法是在
發(fā)表于 11-06 06:49
定點數(shù)表示實數(shù)的方法以及定點數(shù)在硬件上的運算驗證
’b110_0000_0000_0000_0000_0000時,表示為十進制小數(shù)0.75( 2^(-1)+2^(-2) )。E是指數(shù),為了能夠表示負指數(shù)、IEEE754標準中規(guī)定浮點數(shù)的實際指數(shù)為E-127。從32位浮點數(shù)編碼結
發(fā)表于 10-28 08:13
E203添加浮點數(shù)方法:譯碼和派遣模塊設計
的數(shù)據(jù)來自于整數(shù)寄存器還是浮點數(shù)寄存器。
派遣模塊與其他模塊的連接方式如下圖:
左圖只選取了有代表性的信號展示出來,即只展示了源操作數(shù)和寫寄存器的地址是如何在這些模塊中傳遞的。右圖是 dispatch
發(fā)表于 10-24 13:54
浮點指令(三)
浮點數(shù)轉化為 32 位二進制補碼表示的整數(shù),再寫入 x[rd]中。由于浮點數(shù)表示范圍遠遠大于整數(shù),且浮點數(shù)存在一些特殊表示,比如無窮大和NaN等,下表是一些
發(fā)表于 10-24 13:38
E203添加浮點數(shù)方法:FPU控制邏輯
fflags 寄存器的。
接下來講解單精度浮點指令的實現(xiàn)方式。
首先是浮點數(shù)存取指令。筆者認為,單精度浮點數(shù)的數(shù)據(jù)位寬與整數(shù)一樣,指令機器碼格式一致,因此將
發(fā)表于 10-24 13:28
蜂鳥E203擴展浮點指令設計(1)
)相加所得。
? flw 指令從存儲器中讀回一個單精度浮點數(shù),寫回寄存器 rd 中。
? fsw 指令將操作數(shù)寄存器 rs2 中的單精度浮點數(shù),寫回存儲器中。
浮點16位壓縮指令只有數(shù)據(jù)
發(fā)表于 10-24 10:00
浮點數(shù)是如何實現(xiàn)開平方運算的
摘要:
本文主要描述浮點數(shù)是如何實現(xiàn)開平方運算的。
簡介
事實上,浮點數(shù)的開平方運算結構與定點數(shù)甚至整數(shù)的開平方運算結構是十分相似的,我們可以在對定點數(shù)求平方根運算結構的基礎上,針
發(fā)表于 10-24 08:42
risc-v中浮點運算單元的使用及其設計考慮
器:用于執(zhí)行浮點數(shù)的除法運算。
轉換器:用于執(zhí)行不同精度之間的類型轉換。
浮點運算單元的使用需要在程序中調用相關的浮點指令,這些指令包括FL
發(fā)表于 10-21 14:46
大彩講堂:VisualHMI-LUA教程-獲取設置單精度浮點數(shù)函數(shù)的應用
軟件開發(fā)中各種協(xié)議對浮點數(shù)數(shù)據(jù)進行獲取和賦值處理。get_float(vtype,addr)讀取單精度浮點數(shù)(float)寄存器,返回有符號單精度浮點數(shù)·vtype:數(shù)
用TXT編輯器打開十六進制文件,如何知道校驗和值?
我從客戶那邊得到了一個 pmg1-s3 十六進制文件,我想把它和校驗和提供給集成電路編程工廠。
1.用 TXT 編輯器打開十六進制文件,如何知道校驗和值? 附帶的是十六進制文件。
2. 另一個問題是
發(fā)表于 05-23 07:49
PRINTF函數(shù)無法打印出浮點數(shù)內容是為什么?
1、MCXN947低功耗adc,歷程中使用官方提供的PRINTF無法打印出浮點數(shù)內容。
2、同樣在mcuxpresso ide 也不可以打印浮點數(shù),這是為什么呢?
3、使用的歷程是lpadc歷程。
發(fā)表于 03-20 08:06
設計了一個基于浮點數(shù)運算的協(xié)處理器,使用C語言編程時沒法輸入float型數(shù)據(jù),請問有哪些部分需要修改?
我設計了一個基于浮點數(shù)運算的協(xié)處理器,使用C語言編程時沒法輸入float型數(shù)據(jù),請問有哪些部分需要修改?SDK,EXU_decoder浮點寄存器都需要修改嗎,謝謝
發(fā)表于 03-07 16:03
數(shù)據(jù)轉換:十六進制與浮點數(shù)的互相轉換
評論