1、课程设计阐明书计算机构成原理算法实现(五)专业计算机科学与技术学生姓名夏晶晶班级M计算机101学号指引教师花小朋完毕日期6月21日目 录1 课程设计目22 课程设计内容与规定22.1课程设计内容22.2 课程设计规定23 实现办法23.1 系统目的23.2 主体设计43.2.1 主窗体设计43.2.2 定点整数真值还原窗体设计63.2.3 定点整数单符号位补码加减法83.2.4 定点整数原码乘法103.2.5 浮点数加减运算124 设计小结13参照文献131 课程设计目本课程设计是在学完本课程教学大纲规定所有内容、完毕所有实践环节基本上,旨在深化学生学习计算机构成原理课程基本知识,进一步领略计
2、算机构成原理某些算法,并进行详细实现,提高分析问题、解决问题综合应用能力。2 课程设计内容与规定2.1课程设计内容计算机构成原理算法实现(五)2.2 课程设计规定可以实现机器数真值还原(定点整数)、定点整数单符号位补码加减运算、定点整数原码乘法运算和浮点数加减运算。3 实现办法3.1 系统目的 本程序具有如下几种功能模块,分别可以实现如设计内容所设计功能。共有5个类,各类之间关系如图3-1所示:计算机构成原理算法实现(五)输入口令机器数真值还原定点整数单符号位补码加减运算定点整数原码乘法浮点数加减运算输入一种带符号二进制数原码显示反码显示补码显示移码显示返回依次输入两个单符号二进制数加法成果显
3、示依次输入两个单符号二进制数乘法成果显示依次输入两个数阶码和尾数加法介码显示加法尾数显示减法介码显示减法尾数显示返回返回返回系统流程图:开 始判断口令与否对的选取界面机器数真值还原(定点整数)定点整数单符号位补码加减运算定点整数原码码乘法浮点数加减法重新输入真值”、“反-真值”、“补-真值”或“移-真值”按扭中任一种后,将在第二文本框中显示相应操作成果。选取“返回”按扭时将关闭此窗体。算法原理:计算机中惯用数据表达格式有两种,一是定点格式,二是浮点格式。a)定点表达:商定机器中所有数据小数点位置是固定。由于商定在固定位置,因此小数点就不再使用记号“.”来表达。 b)浮点表达:定点数表达数范畴有
4、限,为了扩展数表达范畴,按照科学记数法表达数据方式,任何一种二进制数N都可以表达到如下格式:NM*2eM :尾数,是一种纯小数,决定数据表达精度e :指数,又称为阶码,是一种整数,决定数据表达范畴 普通书写所示数据称为真值,在计算机中为了表达符号位,普通把符号位和数字位一起编码来表达相应数,形成了各种数据存储和表达办法,这些编码称为机器码。惯用机器码有原码、反码、补码和移码。a)原码:原码数值某些是该数绝对值,最高位表达符号位,最高位为0是正数,最高位为1是负数。b )反码:正数反码等于原码,负数反码等于除符号位外别的二进制数码0变成1,1变成0。正数: x反 = x原 = x 负数: 符号位
5、不变,别的变反c)补码:正数补码等于原码,负数补码等于反码加1。正数: x补= x原 负数: x补= x反 +1d)移码:是符号位取反补码,普通用做浮点数阶码,引入目是为了保证浮点数机器码为全0。 真值还原流程图: 开 始选取要表达形式原 码0转变为+0,1转变为0,数值位不变显示输出1开头:1转变为0,数值位各位取反显示输出反 码0开头:0转变为+0,数值位不变显示输出补 码0开头:0转变为+0,数值位不变显示输出1开头:1转变为0,数值位各位取反,末位加1,显示输出移 码0开头:0转变为0,数值位各位,末位+1显示输出1开头:1转变为+0,数值位不变显示输出返 回键盘输入一种二进制数3.2
6、.3 定点整数单符号位补码加减法进行定点整数单符号位补码加减法实现时都是在主窗体选取相应菜单项后进入相应窗体再进行详细操作。操作时一方面选取“输入”按扭输入参加运算数据,然后再选操作按扭。算法原理:任何两数补码只和等于两数只和补码补码加法 x补 + y补 = x+y补 补码减法 x补 - y补x补 + -y补 当负数用补码表达后,符号位作为数据一某些一起参加运算,运算器不用考虑参加加法运算操作数正负以及成果正负,任意数加法就可以化作正数加法来作。 溢出:在定点数机器中,数大小超过了定点数能表达范畴,叫溢出。a)在定点小数机中数表达范畴是-1x1,如果运算过程中浮现了不不大于1或者不大于1状况。
7、b)在定点整数机(8位)中数表达范畴是-128x127,如果运算过程中浮现了不不大于127或者不大于128状况。双符号位法:将符号位扩展为2位,详细说就是对于正数两个符号位是“00”,对于负数两个符号位是“11”。两个符号位都看作数码同样参加运算。两个数相加后,其成果符号位浮现“01”或“10”两种组合时,表达发生溢出。符号位“01”,上溢出符号位“10”,下溢出符号位“00”或者“11”,未溢出从补求补法则是:对补“涉及符号位求反且最末位加1”,即可得到补定点整数单符号位补码加减法运算流程图:3.2.4 定点整数原码乘法进行定点整数原码乘法实现时都是在主窗体选取相应菜单项后进入相应窗体再进行
8、详细操作。操作时一方面选取“输入”按扭输入参加运算数据,然后再选操作按扭。算法原理:在定点计算机中,两个原码表达数相乘运算规则是:乘积符号位由两数符号位按异或运算得到,而乘积数值某些则是两个正数相乘之积。设n位被乘数和乘数用定点小数表达(定点整数也同样合用) 被乘数 原f .n110 乘数 原f .n110 则乘积 原(ff)(0.n110)(0.n110) 式中,f为被乘数符号,f为乘数符号。 机器算法: 机器中一种办法是多次采用”加法移位“办法来完毕,称为串行乘法器,它硬件构造简朴,但是速度慢,当前广泛使用是流水式阵列乘法器,称为并行乘法器。无符号数m乘以n会产生m*n个位积,浮现m+n个
9、列和,并行乘法器核心是迅速产生m*n个位积,对位积进行相加运算产生m+n个列和。第一步:位积产生观测乘法运算0*00,0*10,1*00,1*11 相称于:ab 。因此m*n个位积可以由m*n个与门并行产生。第二步:列和产生:运用全加器定点整数原码乘法算法流程图: 3.2.5 浮点数加减运算进行定点整数单符号位补码加减法、定点整数原码乘法、浮点加减法实现时都是在主窗体选取相应菜单项后进入相应窗体再进行详细操作。操作时一方面选取“输入”按扭输入参加运算数据,然后再选操作按扭。算法原理:浮点数加减法运算分为六个环节:a)0操作数检查浮点加减运算过程比定点运算过程复杂。如果判知两个操作数或中有一种数
10、为0,即可得知运算成果而没有必要再进行后续一系列操作以节约运算时间。0操作数检查环节则用来完毕这一功能。参加加法运算数据都是非零,进入下一步。b)比较价码大小并完毕对阶 为了便于直观理解,假设两数均以补码表达,阶码采用双符号位,尾数采用单符号位。 两浮点数进行加减,一方面要看两数阶码与否相似,若二数阶码不同,表达小数点位置没有对齐,此时必要使二数阶码相似,这个过程叫作对阶。对阶操作规定使尾数右移,尾数右移后阶码作相应增长,因而对阶时,总是使小阶向大阶看齐。c)尾数进行加减运算 对阶结束后,即可进行尾数求和运算。无论加法运算还是减法运算,都按加法进行操作(减法运用补码减法转换成补码加法来做),其
11、办法与定点加减法运算完全同样。d)成果规格化 采用双符号位表达尾数时,如果两符号位为01或10时,应将成果尾数右移一位,阶码加1(叫“右规”)。 如果尾数最高数值位与符号位相似,应将尾数左移,阶码减,直至数值位最高位与符号位相反(叫“左规”)。e)舍入运算 在对阶向右规格化,尾数向右移位,这样被右移尾数低位某些会被丢掉,从而导致一定误差,要进行舍入解决。 简朴舍入办法有两种:一种是“0舍1入”法,即如果右移时被丢掉数位最高位为0则舍去,为1则将尾数末位做加加1运算。另一种是“恒置1”法,即只要数位被移掉,就在尾数末尾恒置1。f)判断成果与否溢出 阶码为00 011,阶码符号位为00,依照补码双符号检测溢出办法拟定阶码不溢出。4 设计小结通过这一周课程设计让我更加理解计算机构成原理魅力。同步懂得构成原理这门课程不单单只是简朴课本上知识,有更多实践知识。这是实验我是用C#语言来编写,过程当中遇到了诸多问题,翻阅了某些书籍,同窗之间互相讨论,问题最后得到理解决。这次课程设计也较好将实践和课本上学到东西结合在了一起,让咱们更加融汇贯通,自己能力也得到了提高。参照文献1 白中英.计算机构成原理(第四版)M.北京:科学出版社,.2杨树林,胡洁萍.C#程序设计与案列教程M清华大学出版社.8
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100