位元組陣列與浮點數之間的互相轉換 IEEE

2021-06-22 14:31:52 字數 950 閱讀 5240

在做上位機開發過程中,經常會碰到位元組陣列與浮點數,整數等資料之間的轉換,有時為了驗證資料是否解析正確,得借助於ieee浮點數工具,本文把基於c#實現的浮點數與位元組陣列(或16進製制的字串)轉換的實現方法分享如下:

///

/// 將二進位制值轉ascii格式十六進製制字串

///

/// 二進位制值

/// 定長度的二進位制

/// ascii格式十六進製制字串

/// 浮點數值

/// 十六進製制字串

public static string floattointstring(float data)

return stringbuffer.tostring();

}///

/// 將ascii格式十六進製制字串轉浮點數(符合ieee-754標準(32))

///

/// 16進製制字串

///

public static float stringtofloat(string data)

else

return bitconverter.tosingle(intbuffer, 0);}}

///

/// 將byte陣列轉為浮點數

///

/// byte陣列

///

public static float bytetofloat(byte bresponse)

else

}///

/// 用指標方式強制將byte陣列轉為浮點數

///

///

///

public static float bytetofloatbypoint(byte bresponse)

return fvalue;

}注意:有時從串列埠(或其它裝置讀到的位元組有高低位之分,在作為引數傳遞前把他們的順序調整過來即可)

浮點數與位元組資料的轉換

做專案時,碰到乙個問題 如何將32位的浮點數轉化成4個位元組資料進行傳送?下面給出演算法 function ftoc float a decription 浮點數轉化成四個位元組 input output void ftoc float a 例如12.5 0x41 48 00 00 轉換完之後,e ...

浮點數與位元組資料的轉換

摘自 做專案時,碰到乙個問題 如何將32位的浮點數轉化成4個位元組資料進行傳送?下面給出演算法 function ftoc float a decription 浮點數轉化成四個位元組 input output void ftoc float a 例如12.5 0x41 48 00 00 轉換完之後...

C 的位元組陣列轉換為浮點陣列的四種方法總結

在用c 進行軟體開發的時候,需要用到位元組陣列和浮點陣列轉換功能。byte data 位元組陣列,從外部獲取 float floatarr new float data.length 4 第一種方法,位元組陣列轉換類轉換,最容易想到和處理 for int i 0 i floatarr.length ...