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


  • 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. 设置python环境变量

    原始环境变量 /> python Python |Anaconda (-bit)| (default, May , ::) [GCC (Red Hat -)] on linux Type &qu ...

  2. Asp.NetCoreWebApi图片上传接口(二)集成IdentityServer4授权访问(附源码)

    写在前面 本文地址:http://www.cnblogs.com/yilezhu/p/9315644.html 作者:yilezhu 上一篇关于Asp.Net Core Web Api图片上传的文章使 ...

  3. Java核心技术及面试指南 线性表方面的面试题总结以及答案

    3.2.7.1 请用ArrayList实现Stack以及Queue的功能. public class ArrayListStack extends ArrayList implements Stack ...

  4. centos7通过yum安装nginx

    centos7通过yum安装nginx nginx不支持centos7通过yum直接安装~~~ 1.查看操作系统位数[root@-jenkins ~]# rpm -aq|grep centos-rel ...

  5. django 模板层排序 class Meta 添加信息

    class weeks(models.Model): #星期信息 stu = models.ForeignKey(students,on_delete=models.CASCADE) weeklist ...

  6. Go语言下的线程模型

    阅读Go并发编程对go语言线程模型的笔记,解释的非常到,好记性不如烂笔头,忘记的时候回来翻一番,在此做下笔记. Go语言的线程实现模型,又3个必知的核心元素,他们支撑起了这个线程实现模型的主要框架: ...

  7. Plugin with id 'com.novoda.bintray-release' not found.的解决方案

    import Module的时候,有时候会提示Plugin with id 'com.novoda.bintray-release' not found. 点击Open File,定位到该Module ...

  8. java jar 后台运行

    nohup java -jar $APP_NAME.jar >/dev/null &

  9. AI历史和哲学基础浅谈

    换个角度看AI:研究历史和哲学逻辑 正如题图所示,仿生人会梦见电子羊吗?(注:Do Androids Dream of Electric Sheep?是Philip K. Dick所著的一本科幻小说, ...

  10. 07 训练Tensorflow识别手写数字

    打开Python Shell,输入以下代码: import tensorflow as tf from tensorflow.examples.tutorials.mnist import input ...