一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

縫縫補補的浮點數進制轉換器

冬至子 ? 來源:芯時代青年 ? 作者:尼德蘭的喵 ? 2023-12-04 14:00 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

背景

浮點數在計算機科學中是一種重要的數據類型,用于表示實數。其中,FP32和FP16是兩種常見的浮點數格式,分別占用32位和16位。

這兩種浮點數遵循IEEE 754浮點數標準,該標準規(guī)定了浮點數的表示和運算方式。每個浮點數由三個部分組成:符號位S、指數位E和尾數位M。

FP32的二進制表示為:SEEEEEEE_EMMMMMMM_MMMMMMMM MMMMMMMM;FP16的二進制表示為:SEEEEEMM _MMMMMMMM。

而二進制十進制和十六進制是我們在芯片設計和驗證時候直觀面對的數值進制。在設計浮點數運算單元或浮點數處理和轉換單元時,時常需要進行浮點數與進制數以及原碼補碼之間的各種轉換。

這個工具就是解決這個問題的,基于Python的struct模塊進行浮點數的轉換,基于int/bin/hex函數進行普通進制轉換。

工具使用

根目錄下有打包好的exe文件

怎么說呢,這個logo基本代表了我的最高審美了。點開工具后就是這個界面了:

圖片

輸出格式就支持這么多種了,對應的輸入少一些,不過也夠用了:

圖片

然后呢,選擇輸入格式后輸入對應的數值(請正確輸入啊,我沒有做檢錯功能哈),然后點擊“確定”(不要用回車?。┚涂梢粤?。十進制下可以任意輸入數值(正數負數小數等),如果為浮點數則只有FP32和FP16會有反饋。其他進制不能有小數,且不需要0b、0x的前綴:

圖片

圖片

圖片

結果校驗

源碼修改

如果需要修改源碼,可以在工程目錄下的src文件夾內進行:

圖片

由上到下分別是圖形界面主程序、雜項函數和進制轉換函數。進制轉換函數全部為字符串輸入、字符串輸出:

def float_to_hex_fp16(i: str) -> str:
f = float(i)
#old_h = hex(struct.unpack(' #old_h = str(old_h)[2:]
#第二種方式和第一種方式結果其實一樣的
packed_data = struct.pack('!e', f)
h = ''.join(format(byte, '02x') for byte in packed_data)
#return str(h)[2:]
return str(h)',>

程序生成

如果需要重新生成exe文件,可以在工程目錄下的exe文件夾內雙擊install.bat文件執(zhí)行,然后把生成于dist目錄下的main.exe拷出來就可以了。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • 轉換器
    +關注

    關注

    27

    文章

    9065

    瀏覽量

    151849
  • 二進制
    +關注

    關注

    2

    文章

    807

    瀏覽量

    42333
  • 浮點數
    +關注

    關注

    0

    文章

    61

    瀏覽量

    16132
  • SRC
    SRC
    +關注

    關注

    0

    文章

    62

    瀏覽量

    18404
  • python
    +關注

    關注

    56

    文章

    4827

    瀏覽量

    86766
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    labview里單精度浮點數和十六進制數如何相互轉換?

    我需要將一個單精度的浮點數(如0.33)轉換為十六進制數然后通過串口發(fā)送,同時還需將串口讀取的十六進制轉換為單精度
    發(fā)表于 10-14 11:04

    進制浮點數怎么轉換成16進制

    進制浮點數怎么轉換成16進制,比如十進制的0.03怎么轉換成16
    發(fā)表于 08-23 15:18

    請問怎么將IEEE 754(32位十六進制轉換為十進制浮點數?

    親愛的先生,我需要知道把IEEE 754(32位十六進制)轉換成pic24小數浮點數的方法。例如,如果我要將下面的十六進制數據轉換
    發(fā)表于 09-04 06:54

    如何將十六進制浮點數轉換成十進制浮點數?

    如題...請教大俠。。四個字節(jié)的浮點數,十六進制的,如何轉換成十進制浮點數?
    發(fā)表于 10-29 04:35

    數據轉換:十六進制浮點數的互相轉換

    數據轉換:十六進制浮點數的互相轉換在DSP上做數據處理遇到,浮點型存儲格式,轉換成十
    發(fā)表于 10-25 14:57

    浮點數的表示方法

    浮點數的表示方法  浮點數,是指小數點在數據中的位置可以左右移動的數據。它通常被表示成:    N = M* RE  這里的M(Mantissa)被稱為浮點數
    發(fā)表于 10-13 17:13 ?1.7w次閱讀
    <b class='flag-5'>浮點數</b>的表示方法

    PIC單片機浮點數與十進制轉換

    重點說明浮點數的格式,十進制數與浮點之間的相互轉換以及程序設計。
    發(fā)表于 06-28 14:46 ?3129次閱讀
    PIC單片機<b class='flag-5'>浮點數</b>與十<b class='flag-5'>進制</b>數<b class='flag-5'>轉換</b>

    浮點數十六進制轉換器綠色免費版

    浮點數十六進制轉換器 V0.98 綠色免費版
    發(fā)表于 05-20 17:01 ?0次下載

    浮點數十六進制轉換器應用程序軟件免費下載

    本文檔的主要內容詳細介紹的是浮點數十六進制轉換器應用程序軟件免費下載。
    發(fā)表于 04-13 08:00 ?7次下載
    <b class='flag-5'>浮點數十六進制</b><b class='flag-5'>轉換器</b>應用程序軟件免費下載

    浮點數在內存中的存儲

    浮點數在內存中的存儲和整數不同,因為整數都可以轉換為一一對應的二進制數據。而浮點數的存儲是由符號位 (sign) + 指數位 (exponent) + 小數位 (fraction) 組
    的頭像 發(fā)表于 09-20 10:52 ?4396次閱讀
    <b class='flag-5'>浮點數</b>在內存中的存儲

    解析python整數浮點數不同進制整數

    python數字包括整數、浮點數、復數、有理分數等,整數還可以用不同進制表示。
    的頭像 發(fā)表于 03-10 10:01 ?1377次閱讀

    PLC中浮點數的二進制表示

    我們日常使用的各類數據,都是以二進制的方式存儲的。以浮點數為例,在PLC中其表示方式使用了IEEE 754標準。許多編程語言中浮點數的實現也遵循該標準。
    的頭像 發(fā)表于 03-23 13:50 ?6569次閱讀
    PLC中<b class='flag-5'>浮點數</b>的二<b class='flag-5'>進制</b>表示

    C浮點數與字符轉換工具

    C浮點數與字符轉換工具免費下載。
    發(fā)表于 06-19 18:17 ?0次下載

    單精度浮點數和十六進制相互轉換例程(基于LV)

    十六進制字符轉成普通字符十六進制字符轉成浮點數浮點數轉成十六進制字符應用于上位機和PLC通訊的數據轉換
    發(fā)表于 08-07 15:12 ?35次下載

    modbus浮點數怎么讀取

    常重要的。 首先,要理解Modbus浮點數的表示方式。在Modbus協(xié)議中,浮點數采用了IEEE 754標準進行編碼和解碼。IEEE 754標準定義了浮點數的二進制表示方法,包括符號位
    的頭像 發(fā)表于 12-28 14:38 ?8093次閱讀