实验报告三数据的表示.doc

实验报告三数据的表示.doc

ID:55579753

大小:170.00 KB

页数:5页

时间:2020-05-18

实验报告三数据的表示.doc_第1页
实验报告三数据的表示.doc_第2页
实验报告三数据的表示.doc_第3页
实验报告三数据的表示.doc_第4页
实验报告三数据的表示.doc_第5页
资源描述:

《实验报告三数据的表示.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

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

2、ing信息的话,分析为何会出现这种warning信息。inta=;intb=-;intc=;unsignedshortd=65539;shorte=-32790;(2)完成书上第二章习题中第40题,提交代码,并在程序中以十六进制形式打印变量u的机器数。(3)编译运行以下程序,并至少重复运行3次。voidmain(){doublex=23.001,y=24.001,z=1.0;for(inti=0;i<10;i++){if((y-x)==z)printf("equal");elseprintf("notequal");x+=z;y+=z;printf("%d,%f,%f”,i,

3、x,y);}}要求:(1)给出每次运行的结果截图。(2)每次运行过程中,是否每一次循环中的判等结果都一致?为什么?(3)每次运行过程中,每一次循环输出的i、x和y的结果分别是什么?为什么?一、实验结果及分析:(1)实验分析:机器数就是数字在计算机中的二进制表示形式,其特点一是符号数字化,二是其数的大小受机器字长的限制。将带符号位的机器数对应的真正数值称为机器数的真值inta=的机器数是10000000000000000000000000000000Bintb=-的机器数是10000000000000000000000000000000Bintc=的机器数是1000000000000000

4、0000000000000001Bunsignedshortd=65539的机器数无法表示shorte=-32790的机器数无法表示int类型在32位计算机中占4个字节,即32位。又因为正数的补码是其本身,所以int类型能表示的所有正数为:0,0000000000000000000000000000000B到0,1111111111111111111111111111111B即0到+。而负数的补码是除符号位外各位取反最后加一而来。所以int类型所能表示的所有负数为:0,0000000000000000000000000000000B(-0D的补码)到1,11111111111111111

5、11111111111111B即0到-D。而32位二进制数能表示的所有值为2的32次方个,而从-D到+D总共是2的32次方减一个数,而少的这个数就是10000000000000000000000000000000B(-0D的补码),而任何数的原码都不能在转换成补码时成为这个数,我们人为的把他规定为-所以int类型的取值范围为-到+,所以题目中的b是正确的,并且不会发生溢出。而题目中的a=其实已经超出int类型的最大范围,但是a==+1=0,1111111111111111111111111111111B+1B=10000000000000000000000000000000B=-,而-又

6、在int类型的取值范围内,所以也不会溢出,如果此时打印输出a的十进制就是-,同理可得c==+2=-,也不会发生溢出现象。a,b,c的打印输出结果。如下图所示:对于题目中的d,由于它是无符号短整型的变量,在32位机中占两个字节。所以d的取值范围为:0到65535,而65539不在这个范围内,所以会报溢出警告。对于题目中的e,由于它是有符号短整型的变量,在32位机中占两个字节。所以e的取值范围为:-32768到+32767,此时c=-32790=-32768-22=-32768+(-22)=10000000000000000000000000000000B+11111111111111111

7、111111111101001B=000101111111111111111111111111101001B=+D>>+32767D所以e会报出溢出警告。(2)实验分析:1)计算机中单精度浮点数的表示方法:1位符号位记作S8位阶码记作E23位尾数记作F其中符号位:0表示正数,1表示负数。8位阶码:8为二进制数可以表示0到255之间的255个值,但是指数不仅有正数,它还有负数,为了处理负指数的情况,让实际的指数值加上一个偏差(Bias

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。