热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

IEEE754浮点数存储形式

IEEE754浮点数的表示形式如:值:(-1)X(1.M)X2E-1234S:表

IEEE754浮点数的表示形式

在这里插入图片描述

如:
在这里插入图片描述

  • 值:(-1)X(1.M)X2E-1234
  • S:表示符号位,表示整个数的符号位
  • E:表示阶码,注意阶码采用移码的方式,没有符号位,
  • M:表示尾码,采用原码表示,为了规范化,尾码的最高位是有效数字1后面的数,如机器原码:0.000 1010 0100,表示成对应的原码,应该将小数点移到从左往右第一个1的后面,同时将第一个1省略
    • M开头是小数点后第一位,后面不都的用0补齐

移码的求法

移码是在原码的基础上加上一个偏置量,确保新的二进制码便于直观的进行比较。

  • 负数:-100 0010,转换成补码:1011 1110
  • 正数:+100 0010,转换成补码:0100 0010,
  • 上述两个数对于计算机来说不易进行大小判定,,所全部加上偏置量1000 0000
  • 负数的补码:1011 1110 对应的移码0011 1110
  • 正数的补码:0100 0010 对应的移码1100 0010
  • 上述两个数仅仅考虑数值部分,不需要考虑符号位,正数就比负数大。
  • 求由原码求补码的快速方法
    * 原码》》补码:除符号位不变,全部取反,末位加1
    * 补码》》移码:符号位取反,其余不变
    * 原码》》移码:全部取反,末位加1

在这里插入图片描述

  • 注意:IEEE754求的移码,是在原补码的基础上加上2n - 1,以IEEE754的短浮点数为例,总共有8位阶码(原来用补码表示),统一加上0111 1111(27 - 1),原先的阶码8位,去掉一个符号位,总共七位数,表示范围-126 ~ +127(去掉一个0),加上偏置量表示范围:1 ~ 254

特殊值的判定

  • 无穷:阶码最大,全为1,(根据移码的生成方法,是在原码上全部加上一个偏置量,并没有像补码一样将0和1倒置),尾数全为0。
  • 0:阶码最小,全为0,尾数全为0。

考试题——将一个十进制数转换为32单精度型的浮点数

写出1056.75保存为浮点数时的格式

  • 将1056.75转换成对应的二进制编码,整数部分和小数部分分开转,然后进行合并,结果为:0100 0010 0000 . 1100

  • 将小数点移到最高位后面一位,总共移了10位,将最高位的1省略,前面用0补齐
    在这里插入图片描述

  • 阶码10的二进制编码(补码形式):0000 1010,加上偏置量0111 1111,结果为1000 1001

    • 注意: 阶码的机器字长是8位,最高位是符号位,求移码是在补码的基础上加上偏置量
      在这里插入图片描述
  • 确定符号位:结果为正数,0

  • 最终的浮点数编码:0 1000 1001 0000 1000 0011 0000 0000 000

在这里插入图片描述

  • 如果不强求过程,可直接登录网站输入相关的数字直接获取对应的浮点数格式
  • 网址:https://www.h-schmidt.net/FloatConverter/IEEE754.html

推荐阅读
  • 解决Jenkins编译过程中ERROR: Failed to Parse POMs的问题
    在使用Jenkins进行自动化构建时,有时会遇到“ERROR: Failed to parse POMs”的错误。本文将详细分析该问题的原因,并提供有效的解决方案。 ... [详细]
  • 阿里云 Aliplayer高级功能介绍(八):安全播放
    如何保障视频内容的安全,不被盗链、非法下载和传播,阿里云视频点播已经有一套完善的机 ... [详细]
  • SSM框架下的在线教育平台源代码与文档
    本文介绍了基于SSM(Spring, Spring MVC, MyBatis)框架开发的教务网络管理系统。该系统旨在有效管理学生各学年的成绩,支持快速查询学生成绩和班级信息。系统具备完善的需求分析、设计和实现方案,确保数据的安全性和系统的易用性。 ... [详细]
  • SvpplyTable: 实现可扩展和可折叠的菜单动画
    SvpplyTable 是一个示例项目,旨在实现类似 Svpply 应用程序中的可扩展和可折叠的菜单动画效果。该项目托管在 GitHub 上,地址为 https://github.com/liuminqian/SvpplyTable。 ... [详细]
  • centos 7.0 lnmp成功安装过程(很乱)
    下载nginx[rootlocalhostsrc]#wgethttp:nginx.orgdownloadnginx-1.7.9.tar.gz--2015-01-2412:55:2 ... [详细]
  • 本文介绍了 Confluence 6 中使用的其他 Cookie,这些 Cookie 主要用于存储产品的基本持久性和用户偏好设置,以提升用户体验。 ... [详细]
  • 解决MAC远程桌面连接证书无效问题
    本文介绍如何解决在使用MAC远程桌面连接时遇到的“证书或相关链无效”错误。通过详细步骤和专业建议,帮助用户顺利连接远程桌面。 ... [详细]
  • 使用Tkinter构建51Ape无损音乐爬虫UI
    本文介绍了如何使用Python的内置模块Tkinter来构建一个简单的用户界面,用于爬取51Ape网站上的无损音乐百度云链接。虽然Tkinter入门相对简单,但在实际开发过程中由于文档不足可能会带来一些不便。 ... [详细]
  • 本文介绍了一种使用CSS3和jQuery实现的35款SVG图标加载动画。这些动画不仅视觉效果出色,还能提升用户体验。通过本文,您可以了解如何在项目中应用这些动画。 ... [详细]
  • 本文介绍了如何在 Qt 应用程序中实现状态栏、浮动窗口(铆接部件)和中心部件。通过简单的代码示例,详细解释了每个组件的创建和设置方法。 ... [详细]
  • 本文介绍了如何使用Postman构建和发送HTTP请求,包括四个主要部分:方法(Method)、URL、头部(Headers)和主体(Body)。特别强调了Body部分的重要性,并详细说明了不同类型的请求体。 ... [详细]
  • 本文整理了关于Sia去中心化存储平台的重要网址和资源,旨在为研究者和用户提供全面的信息支持。 ... [详细]
  • Bootstrap 插件使用指南
    本文详细介绍了如何在 Web 前端开发中使用 Bootstrap 插件,包括自动触发插件的方法、插件的引用方式以及具体的实例。 ... [详细]
  • iOS snow animation
    CTSnowAnimationView.hCTMyCtripCreatedbyalexon1614.Copyright©2016年ctrip.Allrightsreserved.# ... [详细]
  • 如何解决TS1219:实验性装饰器功能可能在未来版本中更改的问题
    本文介绍了两种方法来解决TS1219错误:通过VSCode设置启用实验性装饰器,或在项目根目录下创建配置文件(jsconfig.json或tsconfig.json)。 ... [详细]
author-avatar
rfzrfz_353
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有