衡阳派盒市场营销有限公司

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

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

3天內不再提示

單片機浮點數運算的源碼設計

GReq_mcu168 ? 來源:未知 ? 作者:鄧佳佳 ? 2018-03-07 15:19 ? 次閱讀

單片機的一個浮點數一般在KeilC51中是以4字節形式存儲的,格式嚴格遵循IEEE-754標準。在單片機二進制數據中,浮點數用兩個部分來表示,基C為2,E為階碼,M為尾數,E的保存形式是一個0~255的8位值,指數的實際表示值是保存值減去127,范圍在-127~+128的數,尾數是一個24位值,換算7個十進制數,最高位通常是1,符號位表示浮點數的正負。

現在看怎樣顯示一個浮點數,由于浮點數的尾數是24位,最高可以表達的整數值為16777215,用科學計數法表示時整數部分占據1位,小數部分就可以有6位,我們將浮點數的尾數放在長整形數據longint中保存,階碼可以在int型數據中保存。此處我們用C程序來實現顯示一個浮點數的功能。

(1)浮點數顯示子函數。

}}

(2)顯示十進制尾數和階的子函數。

在大多數的單片機應用系統中都不能離開數值計算,最基本的數值運算為四則運算,單片機中的數都是以二進制形式表示的,二進制的算法有很多,其中最基本的是定點制和浮點制,以上介紹了浮點數在單片機中的表示方式和匯編子程序,浮點數比定點數加減法要困難,但是克服了定點數表示范圍小的問題,總之定點數和浮點數各有各得的特點,讀者可以在實際運用中加以優化運用。

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

    關注

    6043

    文章

    44622

    瀏覽量

    638535

原文標題:51單片機執行指令的過程

文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    西門子TIA Portal如何比較兩個浮點數相等

    概述: 由于浮點數的定義規則,導致浮點數不能通過二進制精確表示,所以在浮點數計算過程中,會出現兩個值一樣的浮點數進行比較相等計算時結果并不相等的情況。下面先設計一個實例說明該問題,并給
    的頭像 發表于 01-06 10:07 ?235次閱讀
    西門子TIA Portal如何比較兩個<b class='flag-5'>浮點數</b>相等

    ADS1282采集到的數據傳到PC上應該怎么轉為浮點數

    我最近在用ADS1282,采集到的數據傳到PC上應該怎么轉為浮點數?比如說通過串口調試助手收到一個采樣點的數據為 FF FF 9D 17,它的真實浮點數是多少呢?我知道ADC是以補碼形式存的,是要將數據倒轉為17 9D FF FF,再與上0xFF,再float()嗎?還
    發表于 12-13 06:23

    TLV320AIC3106音頻芯片怎么發送、接收浮點數呢?

    TLV320AIC3106 音頻芯片怎么發送、接收浮點數呢?是把浮點數轉成整數嗎?如果是該怎么轉呢? 經AD采樣后得到的是整數,又該怎么轉換成原始的浮點數呢?
    發表于 11-05 07:13

    labview中浮點數與十六進制字符串相互轉化

    與下位數據交流及通訊時,經常有浮點數與十六進制字符串相互轉化的需求,經過兩天總結,找到了最簡潔的相互轉化的方法,萌新歡迎大佬指正,文件也附上。*附件:HEX字符串與浮點數轉換.rar
    發表于 10-21 19:51

    TMS320C6745浮點數字信號處理器技術簡介

    電子發燒友網站提供《TMS320C6745浮點數字信號處理器技術簡介.pdf》資料免費下載
    發表于 10-09 09:34 ?0次下載
    TMS320C6745<b class='flag-5'>浮點數</b>字信號處理器技術簡介

    分享在arduino 單片機浮點數轉換位數不夠,精度丟失的解決辦法

    arduino中由于硬件限制,浮點數只有2位小數。但經過這個函數處理可以達到7位
    的頭像 發表于 08-27 14:34 ?834次閱讀

    請問AURIX TC3xx tricore架構下浮點運算和將浮點數小數點去掉變成整數來計算哪種方式更加節省算力?

    AURIX TC3xx tricore架構下浮點運算和將浮點數小數點去掉變成整數來計算哪種方式更加節省算力? 比如一個浮點數12.89V,如果將其寫成12890mV,再參與計算,哪種方
    發表于 08-26 06:54

    TMS320C6711D浮點數字信號處理器數據表

    電子發燒友網站提供《TMS320C6711D浮點數字信號處理器數據表.pdf》資料免費下載
    發表于 08-03 09:29 ?0次下載
    TMS320C6711D<b class='flag-5'>浮點數</b>字信號處理器數據表

    官方例程modbus slave rtu,浮點數精度不對是怎么回事?

    官方例程 modbus slave rtu, 浮點數精度不對,對保持寄存器設置一個浮點數,讀取到的浮點數結果精度只能到小數點后兩位,根本無法使用,用的是idf 5.1.2版本,開發環境是vscode。
    發表于 07-19 08:10

    請問如何打印浮點數或雙精度變量?

    如何打印浮點數或雙精度變量?
    發表于 07-12 08:24

    ESP8266_RTOS_SDK如何打印浮點數

    嘗試使用 printf 打印浮點數,例如, 浮點數 d = 1.0; printf("d = %f", d); 但它打印出來: d = 此外,sprintf
    發表于 07-09 06:56

    如何關閉ESP32-S3中的FPU浮點數計算單元?

    如何關閉ESP32-S3中的FPU浮點數計算單元。如題,之前的項目在esp32s2 上面運行良好,但是移植到esp32s3上后由于fpu造成浮點數計算無法在中斷中使用,并且也不能跨cpu去使用,對固件性能和穩定性造成了很大的影響。現在想尋求一種辦法,禁用掉fpu
    發表于 06-27 07:32

    STM32CubeIDE printf浮點數浮點數丟失數值的原因?

    1、芯片:STM32F103C8T62、環境:STM32CubeIDE3、問題:printf浮點數浮點數數值丟失如 float A=25.6666;float B=24.7777;實際打印
    發表于 06-03 07:07

    verilog語音實現浮點運算

    Verilog可以通過使用IEEE標準的浮點數表示來實現浮點運算。下面是一個基本的Verilog模塊示例,展示了如何進行加法、乘法和除法等常見的浮點
    發表于 03-25 21:49

    一文帶你秒懂IEEE 754浮點數

    一、簡介1、常見的浮點數表示方式是IEEE754標準,它規定了浮點數的存儲格式和運算規則,這個標準定義了兩種浮點數表示:單精度和雙精度。2、任何一個
    的頭像 發表于 03-18 08:09 ?9098次閱讀
    一文帶你秒懂IEEE 754<b class='flag-5'>浮點數</b>
    游戏厅百家乐技巧| 闲和庄百家乐娱乐平台| 大发888娱乐场18| 百家乐官网真人娱乐城| 娱乐网百家乐补丁| 明溪县| 百家乐官网是娱乐场最不公平的游戏 | 百家乐官网小路规则| 怎么看百家乐走势| 百家乐官网推广| 百家乐推筒子| 百家乐官网洗码全讯网| 百家乐最安全打法| 豪华百家乐官网桌子厂家| 贵族百家乐的玩法技巧和规则| 百家乐官网赌博机玩法| 百家乐赌博详解| 百家乐官网tt娱乐城| 财神百家乐的玩法技巧和规则 | 大发888娱乐城df888| 百家乐官网网上漏洞| 大发888真钱娱乐游戏| 新百家乐官网的玩法技巧和规则| 德州扑克 梭哈| 百家乐游戏百家乐| 枣强县| 大哥大百家乐的玩法技巧和规则| 有关百家乐官网玩家论坛| 大发888娱乐注册| 凯时百家乐技巧| 百家乐官网筹码样式| 真人版百家乐试玩| 百家乐官网路单走势图| bet365国际娱乐| 百家乐开户百家乐技巧| 百家乐官网趋势图怎么看| 威尼斯人娱乐会所| 怎么玩百家乐官网的玩法技巧和规则 | 闽侯县| 威尼斯人娱乐城求助| 百家乐官网庄闲和的概率|