C# Float and Double Convert to Hexadecimal
前言 因MCU或uDrive在傳輸給UI時Double和Float會透過IEEE754轉成16進制傳輸,因此這邊會介紹2種方法去轉成16進制與範例程式以供參考 理論 浮點數表達式是計算機內用來表示小數的方法,由IEEE規定組成格式,並用有32 bits單精度(float)與64 bits雙精度(double)的資料型態 浮點數的表達方法主要由4個參數組成,分別是正負符號、尾數(m)、基數(n)、指數(e) : 可以看到右圖,主要Float 與Double不同地方是在尾數存取與指數位精準位數不同,這邊先以Float為範例推演給各位觀看如下圖 範例程式 Double converter to Hex Float converter to Hex Hex converter to Float Hex converter to Double Doma結果 其他方法 上面為通用方法,但可以看到存取位元較多今天如果想讓存取位元較少可以參考下面範例,但有條件限制如下 * matrix format:* size: 32 bits* bit[0]: +/-* bit[7:1]: integer* bit[31:8]: decimal* max.: 127.9999999* min.: -127.9999999 Double converter to Hex Hex converter to Double gains …