这一章,主要介绍了好多种计算方法。下面,写一点自己对于有些计算(手写计算过程)的见解。


  • 1.原码、反码、补码

  原码:相信大家都会写,符号位在前二进制数值在后,凑够位数即可。

  反码:原码符号位不变,其他位全部取反。

  补码:反码末位加一 / 原码符号位不变,从右往左数第一个1及其右边的各位不变,其余位全部取反

  • 2.IEEE754的转换

  IEEE754标准32/64浮点规格化数形式:X = (-1)* 1.M * 2E-127(其中,S-阶符,M-尾数,E-阶码)

    32位的规格化浮点数:SEM00000...(即二进制SEM后面补0,写够32位)

  以27/64为例:

    ①化形式:27/64 = + (1.1011)* 2-2

    ②找SEM:S=0,M=1011,E=(125)10=(01111101)2

    ③写结果:00111110 11011000 00000000 00000000 = (3ED800)16

  • 3.变形补码计算加减法

  变形补码没什么稀奇,不过是符号位变成两位而已(00为正,11为负),它的价值在于可以作溢出判断(结果00//11表示未溢出,01-上溢(所谓上溢符号位还是0),11-下溢(下溢符号位还是1)),就正常求补码(符号位double),放在一起加和,做溢出判断,最后别忘了把补码再转换回原码作为最终结果。

  x+y:

   以x=11011, y=00011为例:

    ①求补:[11011]=0011011, [00011]=0000011

    ②加和:011011 + 000011 = 0011110;符号位00,未溢出,故x+y=11110

  x-y:(这里把减法化为加法,即 x-y = x+(-y),另外[-y] = [y] 从右往左数第一个1及其右边的各位不变,其余位全部取反,这次连带符号位也要取反)

   以x=11011, y=-11111为例:

    ①求补:[11011]=0011011, [-11111]=1100001,[-y]=0011111

    ②加和:[x]+[-y] = 0011011 + 0011111 = 0111010;符号位01,正溢(上溢);故x-y=+111010

  • 4.浮点数加减法(我用的是补码计算)

  这里面涉及的东西比较多,每一步都需要仔细,错一步结果就错了。

  ①求补对阶

  ②尾数求和

  ③规格化

  ④舍入处理

  ⑤溢出判断

  ⑥写结果

例子后面给


第二章 运算方法与运算器(浮点数的加减法,IEEE754标准32/64浮点规格化数)的更多相关文章

  1. 十进制浮点数转换成IEEE754标准的32浮点数的二进制格式

    参考: http://jimmygod.blog.163.com/blog/static/43511339200792605627411/ http://blog.csdn.net/archersab ...

  2. 【重学计算机】计组D3章:运算方法与运算器

    1. 定点数运算及溢出 定点数加减法:减法化加法,用补码直接相加,忽略进位 溢出:运算结果超出了某种数据类型的表示范围 溢出检测方法:统一思想概括为正正得负或负负得正则溢出,正负或负正不可能溢出 方法 ...

  3. C#中浮点数依IEEE-754标准转二进制串 (MODBUS 浮点数转换)

    因工作需要,把再串口通信中浮点数与字节流的数据转换函数放在这,转发的,谢谢原作者. 今天花了一天的时间搜罗资料,为了解决一个串口编程的进制转化问题.因为串口传送的浮点数据格式与IEEE-754标准(3 ...

  4. 【知识强化】第二章 数据的表示和运算 2.4 算术逻辑单元ALU

    从本节开始我们就进入到本章的最后一节内容了,也就是我们算术逻辑单元的它的实现.这部分呢是数字电路的一些知识,所以呢,如果你没有学过数字电路的话,也不要慌张,我会从基础开始给大家补起.那么在计算机当中, ...

  5. ASP.NET Core 中文文档 第二章 指南(4.6)Controller 方法与视图

    原文:Controller methods and views 作者:Rick Anderson 翻译:谢炀(Kiler) 校对:孟帅洋(书缘) .张仁建(第二年.夏) .许登洋(Seay) .姚阿勇 ...

  6. C语言程序设计:现代方法(第2版)第二章全部习题答案

    前言 本人在通过<C语言程序设计:现代方法(第2版)>自学C语言时,发现国内并没有该书完整的课后习题答案,所以就想把自己在学习过程中所做出的答案分享出来,以供大家参考.这些答案是本人自己解 ...

  7. Upgrading to Java 8——第二章 Method References(方法引用)

    概述 很多java 方法会使用函数式接口作为参数.例如,java.util.Arrays类中的一个sort方法,就接受一个Comparator接口,它就是一个函数式接口,sort方法的签名如下: pu ...

  8. Testlink1.9.17使用方法(第二章 登录&汉化设置)

    第二章 登录&汉化设置 QQ交流群:585499566 1,使用超级账户admin/admin登录. 2,登录后,会提示创建一个新的项目,先不要创建,先进入用户管理,设置成中文显示,也就是汉化 ...

  9. Java基础知识二次学习-- 第二章 基础语法与递归补充

    第二章 基础语法与递归补充   时间:2017年4月24日10:39:18 章节:02章_01节,02章_02节 视频长度:49:21 + 15:45 内容:标识符,关键字与数据类型 心得:由字母,下 ...

随机推荐

  1. DedeCMS上传视频

    DedeCMS建站方便快捷,但是在上传视频时会出现问题,主要是文件格式与大小限制,需要修改配置文件,修改的地方主要有: 1.修改 DedeCMS系统配置参数--附件设置--允许的多媒体软件类型(以MP ...

  2. python高级-异常(13)

    一.异常介绍 print("1---------------------") open("123.txt","r") print(" ...

  3. pycharm安装plugins

    1 . 启动 PyCharm 软件 2 . 打开 设置(Setting) 窗口.(操作:File -> Setting 或者 按快捷键 Ctrl + Alt + S) 3 . 在搜索框里面搜索: ...

  4. 五分钟了解node,cnpm和yarn

    1.静态网页和动态网页 动态网页:数据可以进行交互,动态改变数据 2.node node是基于chrome的V8引擎的javascript的运行环境,node中的事件机制以及非阻塞式的I/O式模式,使 ...

  5. Java提高(5)---map集合排序

    map集合排序 这篇文章讲的不仅仅是map排序,比如把对象按某一属性排序,它都可以解决这些问题. 比如,有N个对象,每个对象有个属性就是成绩,成绩分:优秀,良好,合格.那我们如何按照成绩的好坏进行排序 ...

  6. redis 系列3 数据结构之简单动态字符串 SDS

    一.  SDS概述 Redis 没有直接使用C语言传统的字符串表示,而是自己构建了一种名为简单动态字符串(simple dynamic string, SDS)的抽象类型,并将SDS用作Redis的默 ...

  7. SLAM入门之视觉里程计(3):两视图对极约束 基础矩阵

    在上篇相机模型中介绍了图像的成像过程,场景中的三维点通过"小孔"映射到二维的图像平面,可以使用下面公式描述: \[ x = MX \]其中,\(c\)是图像中的像点,\(M\)是一 ...

  8. docker 构建 https 私有仓库 Registry

    1.安装docker # docker install docker 2.拉取仓库镜像 # docker pull registry 3.生成认证certificate # mkdir ~/certs ...

  9. Python从入门到精通系列文章总目录

    Python最新全套课程(8月中旬开的课),共四个月.所有课件,项目源码,课后习题和答案都包括在内. 包括:Python实战项目引入.Python基础.爬虫基础.爬虫库.Scrapy爬虫框架.动态页面 ...

  10. 【详解JavaScript系列】JavaScript之变量

    一  概述 本篇文章将讲解JavaScript中的变量,大致内容归结为: 1.变量定义 包括变量声明和变量初始化 2.变量种类 包括局部变量和全局变量 3.变量链式作用域及访问 二  内容 (一)变量 ...