眾所周知,在電路和計算機裡是按0/1來儲存資料的,比如15對應二進位制的1111,但是小數是怎麼表示呢?
數字0.001
我們可以約定一個量程係數, 比如1000, 這樣儀表的讀數是1,則代表著1/1000=0.001
我們來看一個儀表的說明書,儀表返回資料038F 對應的是十進位制的911,量程為10,則實際值為91.1
另外還有一種IEEE754 浮點數格式,是用4個位元組表示一個32位的浮點數,我們找一個線上轉換的網址來試試. 比如3.14 對應的16進位制浮點數40 48 F5 C2
對應的C#程式碼就是下面:
//40 48 F5 C2 => 3.14 string value = "4048F5C2";//16進位制字串UInt32 x = Convert.ToUInt32(value, 16);//字串轉16進位制32位無符號整數 float fy = BitConverter.ToSingle(BitConverter.GetBytes(x), 0);//IEEE754 位元組轉換float
//3.14=>4048F5C2 var cc = BitConverter.GetBytes(fy);string HexStr= string.Empty; for (int i = 0; i < 4; i++) { HexStr = Convert.ToString(cc[i], 16).ToUpper() + HexStr; }
最新評論