实验报告三数据的表示2_第1页
实验报告三数据的表示2_第2页
实验报告三数据的表示2_第3页
实验报告三数据的表示2_第4页
实验报告三数据的表示2_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

1、计算机系统基础实验报告学院信电学院 专业计算机科学与技术班级计算机1401学号 140210110 姓名 段登赢实验时间:一、实验名称:数据的表示2二、实验目的和要求:(1)实验目的:熟悉数值数据在计算机内部的表示方式,掌握相关的处理语句。(2)实验要求:说明你做实验的过程(重要步骤用屏幕截图表示)提交源程序;分析并回 答问题。三、实验环境(软、硬件):要求:详细描述实验用的操作系统,源代码编辑软件,相关硬件环境及所使用的GCC 编译器的信息。四、实验内容:(1)请说明下列赋值语句执行后,各个变量对应的机器数和真值各是多少?编写一段程序 代码并进行编译,观察默认情况下,编译器是否报warnin

2、g。如果有warning信息的话,分 析为何会出现这种warning信息。inta= 2147483648;intb =-2147483648;intc= 2147483649;unsigned short d = 65539;short e = -32790;(2)完成书上第二章习题中第40题,提交代码,并在程序中以十六进制形式打印变量u 的机器数。(3)编译运行以下程序,并至少重复运行3次。void main()double x=23.001, y=24.001, z=1.0;for (int i=0; i+32767I所以 e 会报出溢 出警告。(2)话输入一个整歇;52的5次方的十进制

3、故;32.0006902的5次方的十六谜制致是:6X42609009细用POW函数进行验证得到的信息:2的5次方的十进制巍;32.0000002的5次方的十六进制薮是:0X42000660实验分析:1)计算机中单精度浮点数的表示方法:1位符号位记作S8位阶码记作E23位尾数记作F其中符号位:0表示正数,1表示负数。8位阶码:8为二进制数可以表示0到255之间 的255个值,但是指数不仅有正数,它还有负数,为了处理负指数的情况,让实际的指数值 加上一个偏差(Bias,记作B)值作为保存在指数域的值,单精度的偏差值为127,例如如 果指数是0,那么8位阶码就是127+0=127=0111 1111

4、BO位数实际是由24位表示,但是小 数点左边的1或0默认是隐藏的,所以位数就成23位了,对于这个隐藏的数字我们记作Y。2)几种浮点数的表示:描述EF规格化浮点数SE/0&E/255F非规格化浮点数S0000 0000F无穷大浮点数S1111 11110000 0000 0000 0000 0000 000NaN非数S1111 1111*03)单精度浮点数所能表示的所有正数的主要临界点描述(Y)SEFB+指数=E零(0)00000 00000000 0000 0000 0000 0000 000-126最小的非规格化数(0)00000 00000000 0000 0000 0000 0000 0

5、01-1262-148 (0)00000 00000000 0000 0000 0000 0000 010-126(0)0-126最大的非规格化数(0)00000 00001111 1111 1111 1111 1111 111-126最小的规格化数(1)00000 00010000 0000 0000 0000 0000 000127-126=1022(1)01000 00010000 0000 0000 0000 0000 000127+2=129(1)0最大的规格化数(1)01111 11101111 1111 1111 1111 1111 111127+127=254无穷大(1)011

6、11 11110000 0000 0000 0000 0000 000127+128=2553)看完这个表格,我们还需要明确一下非规格化浮点数的表示才能判断其临界值的大小,例如 2-149 = 1*2-126 *2-23,2-148 =2*2-126 *2-23,2-127 = 2-126 *2-23 *222 很明显允许的 阶数位数E=-126不能满足所需要的阶数-149的需求,这时可能就会在尾数前添 加前导0,变成表格中的形式。经过上面的分析我们就可以很快找到2的x次方的各种浮点数表示形式的临界值了: (-8,-150,-149,-127,-126,127,128,+o然后题目就可以解出来

7、了:float fpower2(int x)(unsigned exp,frac,u;if(x-149)/*值太小,返回 0.0*/exp = 0;frac = 0;else if(x-126)/*返回非规格化结果*/exp = 0;frac = 1 (x+149);else if(x128)/*返回规格化结果*/exp = x+127;frac = 0;else/*值太大,返回+8*/exp = 255;frac = 0;u = exp 23 | frac;/总共 32 位return u2f(u);equal0r 24.001000 r 25.001000equal1, 25.001000

8、 r 26.001000equal2r 26.001000 r 27.001000 equal27.001000 r 28.001000equal28.001000 , 29.001000equal5r 29.001000 r 30.001000equal30.001000 r 31.001000equal31.001000 r 32.001000 not equal8r 32.001000 r 33.001000 equal9, 33.001000 , 34.001000J_.equal0r 24.001000 r 25.001000equal1, 25.001000 r 26.001000

9、equal2r 26.001000 r 27.001000equal27.001000 r 28.001000equal28.001000 , 29.001000equal29.001000 , 30.001000equal30.001000 , 31.001000equal31.001000 , 32.001000 not equal8r 32.001000 r 33.001000equal9, 33.001000 r 34.001000equalQr 24.001000 , 25.001000equal1, 25.001000 , 26.001000equal2r 26.001000 , 27.001000equal27.001000 , 28.001000equal28.001000 , 29.001000equal5r 29.001000 , 30.001000equal30.001000 , 31.001000equal31.001000 , 32.001000 mot equal8r 32.001000 , 33.001000e

温馨提示

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

评论

0/150

提交评论