计组_浮点数

浮点数

是指小数点位置可浮动的数据。通常表示为:

N = M · R^E        (例:0.10111 × 2110 )

其中N为浮点数, M为尾数(mantissa),E为阶码(exponent),R为阶的基数(radix)

R为常数,一般为2,8,16。在一台计算机中,所有数据的R都是相同的。因此,不需要在每个数据中表示出来。

浮点数的表示形式:

Ms是尾数的符号位,0表示正,1表示负。E为阶码,整数n+1位,1位符号位。M为尾数,m位。

尾数通常用规格化形式(即尾数用纯小数形式给出,而且尾数绝对值应大于1/R,即小数点后第一位不为0。)表示,小数点后不能为0。

例:X = +0.0010111=0.10111×2^(-2) = 0.10111 × 2^(-0010) = 0.10111 × 2^(1110)

规格化 为了在尾数中表示最多的有效数据位,同时使浮点数具有唯一的表示形式,尾数应当采用规格化表示方法,即尾数用纯小数形式给出,而且尾数绝对值应大于1/R,即小数点后第一位不为0。

对于补码表示的尾数,其规格化后的数值满足M≤-1/R或M≥1/R。不符合这种规格的数据可通过修改阶码并同时移动尾数的方法使其满足这种格式。

  规格化后正尾数的形式为: 0.1XXXX

              负尾数的形式为: 1.0XXXX

需要注意的是当M=-1/2,对于原码来说,是规格化数,而对于补码来说,不是规格化数。

例:将0.0011和-0.0011规格化表示。

  解:0.0011=0.0011×2^0=0.1100 ×2^(0-2)

  [-0.0011]补=1.1101

  -0.0011的浮点表示为:

     

例:设浮点表示中,E=4、[M]=0.1000B,分别求出当R=2或R=16时表示的数值的大小?

  解:当R=2时:

   N=M×R^E=0.1000B ×2^4=0.5 ×2^4=8

    当R=16时:

   N=M×R^E=0.1000B ×16^4=0.5 ×16^4=32768

当一个浮点数的尾数为0(不论阶码为何值)或阶码的值太小(阶码的值比能在机器中表示的最小值还小时),超出表示范围时,该浮点数看成零值,称为机器零

IEEE754国际标准,常用的浮点数有两种格式:

  单精度浮点数32位,阶码8位,尾数24位。

  双精度浮点数64位,阶码11位,尾数53位。

多数计算机中浮点数的尾数用补码表示,阶码用补码或移码表示。

3.30   X=+1011      [X]补=01011       [X]移=11011

X=-1011      [X]补=10101       [X]移=00101

移码特点

1.最高位为符号位,1表示正,0表示负。

2.阶码只执行加减运算,运算结果要修正(+2n),将符号位取反.

3.0有唯一的编码,即[+0]移=[-0]移=1000…00

当阶码– 2n时,称为机器零,将阶码置成000…000,不管尾数大小,都按浮点数下溢处理。

浮点数的阶码采用移码的原因

便于比较浮点数的大小。阶码大的,其对应的真值就大,阶码小的,对应的真值就小。

简化机器中的判零电路。当阶码全为0,尾数也全为0时,表示机器零。

32位定点整数(补码)的范围是:–2^31~ +2^31-1,精度为31位。

32位浮点数数值范围:–2^127~ +(1-2 -23 )·2^127,精度为24位。

时间: 2024-10-09 12:17:35

计组_浮点数的相关文章

计组_海明校验码

原理: 在数据中加入几个校验码,并把数据的每一个二进制位分配在几个奇偶校验组中. 设:校验位的个数为r,能表示2^r个信息,1个表示“没错误”, 2^r -1个指出错误发生在哪一位. k= 2^r –1-r个信息可用于纠正数据位. 2^r≥k+r+1 若要检测并纠正一位错,同时发现两位错,r,k应满足下列关系: 2^r-1≥k+r      (见表3.8) 校验位和数据位是如何排列的 校验位排列在  2^(i–1) (i =0,1,2,…)的位置上 例:有一个编码 为D4D3D2D1,由此生成一

计组_定点数一位乘_布斯公式

•Booth  一位乘法规则: 将部分积初始化为0: 通过将乘数的尾部增加1位0作为[Y]补的第n+1位: 比较Yi与Yi-1: i=n+1,……,2,1 若Yi-Yi-1=1,   则部分积作加[X]补运算: 若Yi-Yi-1= –1,则部分积作加[-X]补运算: 若Yi-Yi-1= 0,  则部分积作加0运算(加0运算可以省略) 运算完成后,部分积右移1位,得到新的部分积: 反复n+1次,但最后一次不移位,所得的结果即为[X*Y]补.

02组_现代软件工程_第03次作业——对于自身评价(原有水平以及长远目标分析总结)

02组_现代软件工程_第03次作业 --对于自身评价(原有水平以及长远目标分析总结) 李聿轩 ---------------------------------------------------------------------------- 一.原有水平 1.技术水平 ①Java基础开发 A.基本语法逻辑的代码完成 B.利用基本内容完成控件功能的设计以及实现 C.多线程的管理控制,队列,栈的使用相对较少 ②Android开发 A.会使用原生的控件显示,利用诸如Activity,Servic

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

1. 定点数运算及溢出 定点数加减法:减法化加法,用补码直接相加,忽略进位 溢出:运算结果超出了某种数据类型的表示范围 溢出检测方法:统一思想概括为正正得负或负负得正则溢出,正负或负正不可能溢出 方法1:V = XYS + XYS(XY为两个加数的符号位,S为结果的符号位,_表示非),那么V = 1则为溢出 方法2:V = C0 ⊕ C1(C0是最高数据位产生的进位,C1是符号位产生的进位),那么V = 1则为溢出 方法3:V = Xf1 ⊕ Xf2(数据采用变型补码 Xf1Xf2 X0X1X2

[ACM]计算几何_浮点数相关

1.多用double少用float double的输入与输出:(注意占位符:scanf中是%lf,printf中是%f) 1 double x; 2 scanf("%lf",&x); 3 printf("%f,x); 2.判断浮点数大于0/小于0/等于0 使用sgn(x): 1 #define EPS (1e-8) 2 inline int sgn(double x){ 3 return (x > EPS) - (x < -EPS); 4 } 3.判断两个

第四届蓝桥杯javaC组_马虎的算式

/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2016, 广州科技贸易职业学院信息工程系学生 * All rights reserved. * 文件名称: 蓝桥杯赛题 * 作    者:   彭俊豪 * 完成日期:   2016   年 04月 01日 * 版 本 号:      001 * 对任务及求解方法的描述部分 * 问题描述: 小明是个急性子,上小学的时候经常把老师写在黑板上的题目抄错了. 有一次,老师出的题目是:36 x 495 = ? 他却

第四届蓝桥杯javaC组_核桃的数量

/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2016, 广州科技贸易职业学院信息工程系学生 * All rights reserved. * 文件名称: 蓝桥杯赛题 * 作    者:   彭俊豪 * 完成日期:   2016   年 04月 01日 * 版 本 号:      001 * 对任务及求解方法的描述部分 * 问题描述: 小张是软件项目经理,他带领3个开发组.工期紧,今天都在加班呢.为鼓舞士气,小张打算给每个组发一袋核桃(据传言能补脑).

计组_IEEE754_练习题

IEEE754   阶码:移码:尾数:原码 一个规格化的32位浮点数x的真值可表示为: x=(-1)^s×(1. M) × 2^(E-127)       e=E-127 其中尾数域所表示的值是1. M.因为规格化的浮点数的尾数域最左位(最高有效位)总是1.故这一位经常不予存储,而认为隐藏在小数点的左边. 64位的浮点数中符号位1位,阶码域11位,尾数域52位,指数偏移值是1023.因此规格化的64位浮点数x的真值为: x=(-1)^s ×(1.M) × 2^(E-1023)     e=E-1

团体项目_第11组_音悦app_原型

项目原型 目录 1. 相关文档 1.1 需求文档 1.2 设计文档 1.3 其他相关文档 2. 人员分工 3. App原型展示 3.1 欢迎.登录与注册界面 3.2 发现界面 3.3 我的音乐界面 3.4 社区界面 3.5 个人资料界面 3.6 每日推荐界面 3.7 歌单广场_推荐界面 3.8 歌单广场_官方界面 3.9 歌单详情界面 3.10 评论界面 3.11 音乐播放界面 1. 相关文档 1.1 需求文档 1.2 设计文档 1.3 其他相关文档 2. 人员分工 第十一组团队成员及分工安排