计算机组成原理 Lecture_3_浮点数的表示_-_作业参考答案.ppt_第1页
计算机组成原理 Lecture_3_浮点数的表示_-_作业参考答案.ppt_第2页
计算机组成原理 Lecture_3_浮点数的表示_-_作业参考答案.ppt_第3页
计算机组成原理 Lecture_3_浮点数的表示_-_作业参考答案.ppt_第4页
计算机组成原理 Lecture_3_浮点数的表示_-_作业参考答案.ppt_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、作业3,3-1. 将下列十进制数表示成浮点规格化数,阶码4位(含符号),分别用补码和移码表示;尾数6位(含符号),用补码表示。 (1)19/512 (2) -19/512 3-2. 浮点数阶码4位(含阶符),尾数9位(含数符),均用补码表示,求规格化和非规格化时数值范围。 3-3.设浮点数的格式为:第15位为符号位,第14位到第8位为阶码,采用补码表示;第7位到第0位为尾数,与符号位一起采用规格化的补码表示,基数为2。问:它能表示的正数和负数的数值范围是什么?,3-4. 假定一台32位字长的机器中带符号整数用补码表示,浮点数用IEEE754标准表示,寄存器R1和R2的内容分别为R1:00001

2、08BH,R2:8080108BH。不同指令 对寄存器进行不同的操作,因而,不同指令执行时寄存器内容对应的真值不同。假定执行下列运算指令时,操作数为寄存器R1和R2的内容,则R1和R2中操作数的分别是多少? (1)无符号数加法指令 (2) 带符号数加法指令 (3)单精度 浮点数减法指令,3-5. 以下是C语言程序,用来计算一个数组a中每个元素之和。当参数len为0时,返回值应该是0,但在机器上执行时,却发生了存储器异常。分析原因并修改程序。 float sum_elem(float a, unsigned len) int i; float result=0; for (i=0;i=len-1

3、;i+) result+=ai; return result; ,#include stdafx.h #include using namespace std; int _tmain(int argc, _TCHAR* argv) float i=8.1,j=8.0; int k=0; while(i!=j) i/=10;j/=10; k+; coutfloat:kendl; double m=8.1,n=8.0; k=0; while(m!=n) m/=10;n/=10; k+; coutdouble:kendl; ,思考!,提示:IEEE754中的最小值: (1+2-23)2(1-127)

4、 , 其精度约2-149 约10-44.85,3-1.将下列十进制数表示成浮点规格化数,阶码4位(含符号),分别用补码和移码表示;尾数6位(含符号),用补码表示。 (1)19/512 (2) -19/512 解:19/512=10011B2-9=0.10011B2-4 阶原=1100,阶 补=1100,阶移=0100 尾原=0.10011, 尾补=0.10011 -19/512: 尾补=1.01101,3-2.浮点数阶码4位(含阶符),尾数9位(含数符),均用补码表示,求规格化和非规格化时数值范围。 解: 阶码4位,用补码表示,其表示范围: 尾数用补码,且规格化,其表示范围: 尾数用补码,不规

5、格化,其表示范围: 正最大:尾数正最大*2阶正最大 正最小:尾数正最小*2阶负最小 负最大:尾数负最大*2阶负最小 负最小:尾数负最小* 2阶正最大,1,000 1,111 0 0,001 0,111 -23 -1 1 23-1,1.00000000 1.01111111 0 0.10000000 0.11111111 -1 -(2-1+2-8) 2-1 1-2-8,1.00000000 1.11111111 0 0.00000001 0.11111111 -1 -2-8 2-8 1-2-8,3-3. 设浮点数的格式为:第15位为符号位,第14位到第8位为阶码,采用补码表示;第7位到第0位为尾

6、数,与符号位一起采用规格化的补码表示,基数为2。问:它能表示的正数和负数的数值范围是什么? 解 阶码7位(含符号),尾数9位(含符号) 阶码用补码,表示范围:-26+26-1 尾数用规格化补码,表示范围: 1.000000001.01111111, 0.100000000.11111111 -1-(2-1+2-8), +2-1+(1-2-8) 正数范围: 2-1 2-26 (1-2-8) 2(26-1) 负数范围:-1 2(26-1) -(2-1+2-8) 2-26,3-4 假定一台32位字长的机器中带符号整数用补码表示,浮点数用IEEE754标准表示,寄存器R1和R2的内容分别为R1:000

7、0108BH,R2:8080108BH。不同指令 对寄存器进行不同的操作,因而,不同指令执行时寄存器内容对应的真值不同。假定执行下列运算指令时,操作数为寄存器R1和R2的内容,则R1和R2中操作数的分别是多少? (1)无符号数加法指令 (2) 带符号数加法指令 (3)单精度 浮点数减法指令 解:R1:0000 0000 0000 0000 0001 0000 1000 1011 B R2: 1000 0000 1000 0000 0001 0000 1000 1011 B 无符号数R1的真值为:4235,R2的真值:2155876491 带符号整数R1真值为:+4235,R2的真值:-7F7FEF75H 单精度浮点数R1的阶:0-127=-127, R2的阶:-126 R1的尾数:1. 000 0000 0001 0000 1000 1011B=0.80108BH 21 R2的尾数: -1.000 0000 0001 0000 1000 1011B= -0.80108BH 21,3-5 以下是C语言程序,用来计算一个数组a中每个元素之和。当参数len为0时,返回值应该是0,但在机器上执行时,却发生了存储器异常。分析原因并修改程序。 float sum_elem(float a, unsigned len) int i; floa

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论