前幾天進行對乙個模組的研究,發現他串列埠傳輸過來的是16進製制數,而我們需要浮點數值,顯然需要一定的轉換方式,一開始我還以為是需要特殊的計算方法,後來這才接觸到了ieee這個浮點數的儲存方法
之前我的老師也沒接觸過這個,但是這是乙個儲存標準,以後用處應該會很多
eee 754 標準是ieee二進位浮點數算術標準(ieee standard for floating-point arithmetic)的標準編號[1] ,等同於國際標準iso/iec/ieee 60559[2] 。該標準由美國電氣電子工程師學會(ieee)計算機學會旗下的微處理器標準委員會(microprocessor standards committee, msc)發布。這個標準定義了表示浮點數的格式(包括負零-0)與反常值(denormal number),一些特殊數值(無窮(inf)與非數值(nan)),以及這些數值的「浮點數運運算元」;它也指明了四種數值修約規則和五種例外狀況(包括例外發生的時機與處理方式)
廢話不多說,下面給上c語言中的ieee轉浮點數的方法,理論上其他語言也可以用:
因為其實在計算機中,浮點數就是按照ieee的16進製制儲存在記憶體中的,所以轉換很簡單
#include
#include
#define uint8 unsigned int
typedef union
un_dtformconver;
un_dtformconver dtformconver;
uint8 i;
int il_te***2;
float f_temp;
char uartbuf[30];
int main()
f_temp = dtformconver.ul_temp;
printf("%.2f",f_temp);
}
計算機基礎 IEEE754標準的浮點數的轉化
ieee754是現在公認的 最廣泛使用的浮點數轉換運算標準,為許多cpu與浮點運算器所採用。這個標準定義了表示浮點數的格式 包括負零 0 與反常值 denormal number 一些特殊數值 無窮 inf 與非數值 nan 以及這些數值的 浮點數運算子 它也指明了四種數值捨入規則和五種例外狀況 包...
單精度浮點數(IEEE754)
單精度浮點數佔據4個位元組,4個位元組的分配如下 a 第一位為符號位,0表示正,1表示負 b 第2 9位為階碼,採用移碼表示 c 第10 32位為尾數,採用原碼表示。1 給定32位串,如何轉換成十進位制數 假設記憶體中存在32位串 cd cc 08 41。因為intel cpu採用little en...
IEEE754浮點數精度轉換
最近在利用串列埠讀取溫度採集模組上面的資料時發現返回過來的資料是16進製制的ieee754型別,很顯然這不是我們想要看到的,因此我們必須對他進行解析 因為我用的是j a,所以首先翻了相關文件,發現還真提供的有 float.intbitstofloat hex 當然自己也可以手寫乙個,這時我們就需要了...