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)显示十进制尾数和阶的子函数。

在大多数的单片机应用系统中都不能离开数值计算,最基本的数值运算为四则运算,单片机中的数都是以二进制形式表示的,二进制的算法有很多,其中最基本的是定点制和浮点制,以上介绍了浮点数在单片机中的表示方式和汇编子程序,浮点数比定点数加减法要困难,但是克服了定点数表示范围小的问题,总之定点数和浮点数各有各得的特点,读者可以在实际运用中加以优化运用。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6078

    文章

    45589

    浏览量

    673857

原文标题:51单片机执行指令的过程

文章出处:【微信号:mcu168,微信公众号:硬件攻城狮】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    深入理解单片机的位数对性能的影响

    范围,从0到65535(即2^16 - 1)。这使得它们能够执行更复杂的数学运算,如多精度算术和浮点数运算。 32位单片机:具有更大的整数处理能力,范围从0到4,294,967,29
    发表于 04-27 15:05

    TMS320C6701浮点数字信号处理器:技术剖析与应用指南

    TMS320C6701浮点数字信号处理器:技术剖析与应用指南 在数字信号处理(DSP)领域,高性能、多功能的处理器一直是工程师们追求的目标。德州仪器(TI)的TMS320C6701浮点数字信号处理器
    的头像 发表于 03-09 09:45 649次阅读

    TMS320C6713B浮点数字信号处理器:特性、配置与应用全解析

    TMS320C6713B浮点数字信号处理器:特性、配置与应用全解析 在数字信号处理领域,TMS320C6713B浮点数字信号处理器以其卓越的性能和丰富的功能,成为众多工程师的首选。本文将深入探讨
    的头像 发表于 03-09 09:10 611次阅读

    固定点数运算案例的程序

    固定点数运算(Fixed-Poin Arithmetic)在某些嵌入式系统中,浮点运算会较慢或不被支持。因此,使用固定点数
    发表于 12-12 06:35

    使用VScode的PIO开发GD32VF103,但是串口无法打印浮点数怎么解决?

    我最近在使用VScode的PIO开发GD32V,使用的是longan的模板,但是我将串口输出重定义到printf函数中,发现无法使用%f输出浮点数,想问问应该怎么配置,我看到的一种说法是在
    发表于 11-06 06:49

    点数表示实数的方法以及定点数在硬件上的运算验证

    本篇主要介绍定点数表示实数的方法以及定点数在硬件上的运算验证 为什么选定点数 32位单精度浮点数: 32位的单精度
    发表于 10-28 08:13

    E203添加浮点数方法:译码和派遣模块设计

    添加浮点数方法:寄存器设计》,可以总结出如下的电路结构图: 图中黑色部分是原 E203 的 IFU 部分结构图,这里只拿 rs1 作为例子画了出来。图中红色部分是笔者参照原电路画出的浮点相关电路
    发表于 10-24 13:54

    E203添加浮点数方法:FPU控制逻辑

    指令的全部运算都集中在了 FPU 当中。对于指令周期的设计,笔者将除了除法、开方和浮点数存取指令以外的指令都设计为单周期指令(实际中为2周期,原因在于 OITF 的原理),这也是为什么原 E203 代码
    发表于 10-24 13:28

    蜂鸟E203扩展浮点指令设计(1)

    ,采用单独的乘法器。 (2)对于除法和开放运算,可以采用迭代法,采用状态进行运算。乘法器可以复用整数乘法器节约资源。 2.3浮点数比较指令 指令格式: fmin.s rd, rs1
    发表于 10-24 10:00

    浮点数是如何实现开平方运算

    摘要: 本文主要描述浮点数是如何实现开平方运算的。 简介 事实上,浮点数的开平方运算结构与定点数甚至整数的开平方
    发表于 10-24 08:42

    (九)浮点乘法指令设计

    ⊕ sb,得到结果的符号位 阶码相加减 按照定点整数的加减法运算方法对两个浮点数的阶码进行加减运算,因为规格化数的价码e满足1≤e≤254,而ec有可能超出1~254范围,所以当1≤ec≤254,相乘结果
    发表于 10-24 07:11

    浮点数指令添加——长指令写回仲裁

    浮点数指令添加——长指令写回仲裁 在增加浮点数指令时,我们会遇到一些需要写回寄存器的指令,此时就需要对原先的写回功能模块做更改。 写回功能主要集中在这两个模块中
    发表于 10-24 06:07

    浮点运算单元的设计和优化

    的,和整数长度一致。 2.浮点运算指令实现:蜂鸟E203可以通过在EXU内添加一个与ALU平行的模块:浮点处理单元(float point unit),专用于处理浮点指令。该单元可以更
    发表于 10-22 07:04

    risc-v中浮点运算单元的使用及其设计考虑

    的应用。 在RISC-V中,浮点运算单元分为单精度浮点数(32位)和双精度浮点数(64位),通常包括以下几种基本功能: 加法器/减法器:用于执行浮点
    发表于 10-21 14:46

    大彩讲堂:VisualHMI-LUA教程-获取设置单精度浮点数函数的应用

    软件开发中各种协议对浮点数数据进行获取和赋值处理。get_float(vtype,addr)读取单精度浮点数(float)寄存器,返回有符号单精度浮点数·vtype:数
    的头像 发表于 10-16 00:00 1733次阅读
    大彩讲堂:VisualHMI-LUA教程-获取设置单精度<b class='flag-5'>浮点数</b>函数的应用