当前位置:文档之家› 运算方法和运算器练习题

运算方法和运算器练习题

运算方法和运算器练习题
运算方法和运算器练习题

运算方法和运算器练习题

一、填空题

1.补码加减法中,()作为数的一部分参加运算,()要丢掉。

2.为判断溢出,可采用双符号位补码,此时正数的符号用()表示,负数的符号用()表

示。

3.采用双符号位的方法进行溢出检测时,若运算结果中两个符号位(),则表明发生了溢

出。若结果的符号位为(),表示发生正溢出;若为(),表示发生负溢出。

4.采用单符号位进行溢出检测时,若加数与被加数符号相同,而运算结果的符号与操作数

的符号(),则表示溢出;当加数与被加数符号不同时,相加运算的结果()。

5.浮点加减运算在()情况下会发生溢出。

6.原码一位乘法中,符号位与数值位(),运算结果的符号位等于()。

7.一个浮点数,当其补码尾数右移一位时,为使其值不变,阶码应该()。

8.左规的规则为:尾数(),阶码()。

9.右规的规则是:尾数(),阶码()。

10.影响进位加法器速度的关键因素是(进位信号的传递问题)。

11.当运算结果的尾数部分不是()的形式时,则应进行规格化处理。当尾数符号位为()

或()时,需要右规;当运算结果的符号位和最高有效位为()或()时,需要左规。

12.(进位信号的产生与传递逻辑)称为进位链。

13.()称为进位产生函数,()称为进位传递函数。

14.ALU的基本逻辑结构是()加法器,它比行波进位加法器优越,具有先行进位逻辑,不

仅可以实现高速运算,还能完成逻辑运算。

二、选择题

1.两个补码数相加,采用1位符号位,当()时表示结果溢出。

A、符号位有进位

B、符号位进位和最高数位进位异或结果为0

C、符号位为1

D、符号位进位和最高数位进位异或结果为1

2.运算器的主要功能是进行()

A、逻辑运算

B、算术运算

C、逻辑运算和算术运算

D、只作加法

3.运算器虽有许多部件组成,但核心部件是()

A、数据总线

B、算术逻辑运算单元

C、多路开关

D、累加寄存器

4.在定点二进制运算中,减法运算一般通过()来实现。

A、原码运算的二进制减法器

B、补码运算的二进制减法器

C、补码运算的的十进制加法器

D、补码运算的的二进制加法器

5.在定点运算器中,无论采用双符号位还是单符号位,必须有(),它一般用()来实现。

A、译码电路,与非门

B、编码电路,或非门

C、溢出判断电路,异或门

D、移位电路,与或非门

6.ALU属于()部件。

A、运算器

B、控制器

C、存储器

D、寄存器

7.乘法器的硬件结构通常采用()

A、串行加法器和串行移位器

B、并行加法器和串行左移

C、并行加法器和串行右移

D、串行加法器和串行右移

8.器件74SL181是4位的ALU芯片,使用它来构成一个16位的ALU,需要使用()片。

A、2

B、4

C、8

D、16

9.加法器采用先行进位的目的是()

A、提高加法器的速度

B、快速传递进位信号

C、优化加法器结构

D、增强加法器功能

10.下面浮点数运算器的描述中正确的是()

A、浮点运算器可用阶码部件和尾数部件实现

B、阶码部件可实现加减乘除四种运算

C、阶码部件只进行阶码加减和比较操作

D、尾数部件只进行乘法和减法运算

11.现代计算机的运算器一般通过总线结构来组织,下述总线结构的运算器中,()的操作

速度最快。

A、单总线结构

B、双总线结构

C、三总线结构

三、判断题

1.在串行定点补码乘法器中,被乘数的符号和乘数的符号都参加运算。()

2.在串行定点小数除法器中,为了避免产生溢出,被除数的绝对值一定要小于除数的绝对

值。()

3.在浮点运算器中,阶码部件可实现加减乘除四种运算。()

4.运算器不论是复杂的还是简单的,都有一个状态寄存器,目的是位计算机提供判断条件,

以实现程序转移。()

5.加法器是构成运算器的基本部件,为提高运算速度,运算器一般采用串行加法器。()

6.全加器和半加器的区别在于是否考虑低位向高位的进位。()

四、简答题

1.两浮点数相加,X=2010*0.11011011,Y=2100*(-0.10101100),求X+Y。

2..[X]原=1111111,[Y]原=0111001。利用原码一位乘和原码两位乘计算[XY]原。[XY]原=1111000000111

3. [X]原=1101100000,[Y]原=011111,利用不恢复余数法,求[X/Y]原

使用普通计算器进行复数运算

使用普通计算器进行复数运算 一、使用方法 1. 利用计算器进行复数计算必须要用计算器的度,按DRG键,使计算器显示窗中要有“DEG”标致(表示计算器进行所有带角度的运算均以“度”为单位)。 2. 让计算器进入复数运算状态,分别按2ndF 和CPLX,显示窗中有“CPLX”标致,表示计算器只能进行复数的运算,而进行其它计算则是无效的。取消则重复进行即可。进行复数的加减乘除运算时计算器必须处于复数运算状态。 二、计算说明 1. 计算器中a、b的分别表示进行复数运算的实部和虑部,进行代数式输入时可以直接按此键。 2. 计算器中→rθ、→xy的分别表示进行复数运算的模和角,进行极坐标式输入时必须利用上档键功能进行;同时这两个按键也是代数式和极坐标式转换的功能键。 3. 计算器在进行复数运算时均是以代数式形式进行的,就是说在进行极坐标式计算时必须要先化成代数式,计算的结果也是代数式,如果希望得到极坐标式计算完成后也要进行转换。 4. 显示结果运算完成后的结果就是代数式且显示的是实部,按b显示虑部,再按a 就显示实部,转换成极坐标式后则按a显示模,按b显示角,也可重复显示。 5. 在输入带有负号的值时,应先输入数值,再输入负号,输入负号应按+/-键。 三、计算举例 1. 代数式化成极坐标式 例如:3 + j 4 = 5 /53.13o 按键步骤:(按键动作用“↓”表示。)

3↓a↓4↓b↓2ndF↓→rθ↓显示模5,b↓显示角53.13o。 2.极坐标式化成代数式 例如:15 /-50o = 9.64- j11.49 按键步骤: 15↓a↓50↓+/-↓b↓2ndF↓→xy↓显示实部9.64,b↓显示虑部-11.49。

复数计算器 实验报告

中南大学 高级程序设计实践(C++)课程设计报告 题目复数计算器 学生姓名 指导教师陈丽萍 学院信息科学与工程学院 专业班级通信工程1301班 完成时间 2014年7月5日

第一章需求分析与程序设计 1.1 需求分析 1.1.1程序设计的目的与任务 1.复习和巩固C++语言的基础知识,进一步加深对C++语言的理解和掌握。 2.为学生提供独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生独立分析问题、解决问题、查阅资料以及自学能力。 3.学习和掌握C++程序设计方法以及上机调试技巧,为今后学习其它专业课程打好基础。 4.在程序实现过程中,需利用面向对象程序设计理论的基础知识,充分体现出C++语言关于类、继承、封装与多态等核心概念,每一个类应包含数据成员和成员函数,以实现预期的功能,解决实际问题。 1.1.2“复数计算器”程序所能实现的功能 1.建立实数类、复数类,复数类由实数类公有继承而来。 2.实现实数、复数信息的初始化。 3.通过选择结构和调用相关函数实现实数的相关运算,包括:两个实数间的加、减、乘、除和一个实数的自增、自减、求平方、二次方根等运算。 4.通过选择结构和调用相关函数实现复数的相关运算,包括:两个复数间的加、减、乘、除、求两个复数的夹角和一个复数的取模、求平方、求共轭复数、求单个复数的向量角等运算。 5.通过调用相关函数实现实数、复数信息的输出,显示在显示屏上。 6.通过多次运用选择和循环结构实现对实数、复数运算的选择,在选择了实数或复数运算的前提下,再实现对各种运算的选择,运算结束后还可以选择继续实现其它运算或退出程序。 1.2 程序设计 1.2.1概要设计 1.系统中的各个实体及它们之间的关系 系统中的实体是实数类对象和复数类对象,它们的关系是复数类对象所属的类是由实数类对象所属的类公有派生而来的。 2.系统的类层次 程序中建立了两个类,分别是实数类、复数类,复数类是由实数类公有派生而来的。 3.主程序的流程以及各程序模块之间的层次(调用)关系 首先从键盘输入数字1或2或0,输入不同数字则进入不同的并列的小程序模块。

运算方法和运算器习题参考答案

1. 写出下列各数的原码、反码、补码、移码表示(用8位二进制数)。其中MSB是最高位(又是符号位)LSB是最低位。如果是小数,小数点在MSB之后;如果是整数,小数点在LSB之后。 (1) -35/64 (2) 23/128 (3) -127 (4) 用小数表示-1 (5) 用整数表示-1 解:(1)先把十进制数-35/64写成二进制小数: (-35/64)10=(-100011/1000000)2=(-100011×2-110)2=(-0.100011)2 令x=-0.100011B ∴ [x]原=1.1000110 (注意位数为8位) [x]反=1.0111001 [x]补=1.0111010 [x]移=0.0111010 (2) 先把十进制数23/128写成二进制小数: (23/128)10=(10111/)2=(10111×2-111)2=(0.0001011)2 令x=0.0001011B ∴ [x]原=0.0001011 [x]反=0.0001011 [x]补=0.0001011 [x]移=1.0001011 (3) 先把十进制数-127写成二进制小数: (-127)10=(-1111111)2 令x= -1111111B ∴ [x]原=1.1111111 [x]反=1.0000000 [x]补=1.0000001 [x]移=1.0000001 (4) 令x=-1.000000B ∴ 原码、反码无法表示 [x]补=1.0000000 [x]移=0.0000000 (5) 令Y=-1=-0000001B ∴ [Y]原= [Y]反= [Y]补= [Y]移=01111111 2. 设[X]补= a0,a1,a2…a6 , 其中a i取0或1,若要x>-0.5,求a0,a1,a2,…,a6的取值。 解:a0= 1,a1= 0, a2,…,a6=1…1。 3. 有一个字长为32位的浮点数,阶码10位(包括1位阶符),用移码表示;尾数22位(包括1位尾符)用补码表示,基数R=2。请写出: (1) 最大数的二进制表示; (2) 最小数的二进制表示; (3) 规格化数所能表示的数的范围; (4) 最接近于零的正规格化数与负规格化数。 解:(1)11 0111111 (2)11 0000000

教你巧妙改装计算器,功能很强大。如此变态的计算器,你一定不知道怎么玩,我来告诉你

一、shift+7+on,不多说了,很多人都知道 二、CMPLX(复数计算),MAT(矩阵),VCT(向量)! 没想到吧,俺们的计算器还能算复数。说到这里,先要讲怎么进入异常状态!这可是好多种变态功能使用的必须状态! 进入异常状态:(依次按下列键,不能多一下或少一下,期间不管计算器怎么显示错误都无视) on, shift+加号(Pol), 1, shift+右括号(逗号), 0, =, AC, 6下分数线, =, AC, 左, 1, x^n(x平方右边那个), =, AC, 上, AC, 3下左, DEL(此时显示r=1,fai o=0,惊讶了吧), 分数线, 在分数线上下都输入1, = 异常状态进入成功! 然后继续凹:8下Ans, 然后不断按sin直到显示错误, AC, shift+9, 1, =, AC, shift+9, 2, =, AC(前面几步也叫2次清空), 5下根号, 6下x^n(此时出现乱码,可以看见乘以10), 15下

DEL(正好到r前面,小心点按哦,按过头就要重来了。。), 右括号, =, AC, shift+9, 2, =, AC, 2下右, DEL(正好把那个右括号删了), 1, alpha+x^3(是个双引号), 2下等于, mode 看到什么了!2就是复数计算,4不明,5也不明,6就是矩阵,8就是向量,平时看不见吧~ 1、CMPLX:按完2之后屏幕突然变亮,然后按on,再用shift+mode调节屏幕亮度(可以看得清楚点。。)为了保证能正常使用,shift+mode, 3, shift+mode, 8, 1, shift+mode, 下, 4, 1。OK啦~~~现在ENG就是i!!!不过计算结果如果带i 的话不会显示出来比如答案是-1+i,显示就是-11,按shift+2再按4就能显示出来了,shift+2还有其他几个功能,自己研究吧~~ 2、MAT:按完6之后按一下AC,然后同样调节亮度。shift+4,慢慢玩吧~~ 3、VCT:按完8之后按一下AC,然后同样调节亮度。貌似是shift+5,自己试试~~ 三、进制转换(可转换2进制,8进制,10进制,16进制)

简单计算器的设计与实现

C/C++程序设计课程设计设计说明书 简单计算器的设计与实现 学生姓名 学号 班级 成绩 指导老师 计算机科学与技术系 2010年11月22日

C/C++程序设计课程设计评阅书

课程设计任务书 2010—2011学年第一学期 专业:计算机科学与技术学号:姓名: 课程设计名称: C/C++程序设计课程设计 设计题目:简单计算器的设计与实现 完成期限:自2010 年 11月 15 日至 2010 年 11 月 26 日共2 周 设计内容及要求: 要求用C/C++语言设计一个简易的计算器程序,对输入的数据进行加、减、乘、除、开平方等操作。 设计要求及功能如下: 1.阐述设计思想,画出流程图; 2.实现功能: (1)对输入的数据进行加法运算; (2)对输入的数据进行减法运算; (3)对输入的数据进行乘法运算; (4)对输入的数据进行除法运算; (5)对输入的数据进行开平方根运算。 最终设计成果形式为: 1.编写好的程序; 2.撰写课程设计说明书一份,打印并装订成册。 指导教师(签字):教研室主任(签字): 批准日期:年月日

摘要 设计了一个简单的计算器程序,该计算器具有简单的四则混合运算以及复杂的数学表达式的功能。该计算器采用VC++作为软件开发环境,采用算数表达式处理算法来实现加、减。乘、除四则混合运算。操作简单,界面清晰,易于用户使用,容易被他们所接受的。 关键词:计算器;VC++;数学表达式

目录 1课题描述 (1) 2问题分析和任务制定 (2) 3详细设计 (3) 3.1头文件设计 (3) 3.2简单计算器的设计与实现函数设计 (3) 4 程序调试与测试 (8) 4.1主界面测试 (8) 4.2基本功能的测试 (8) 5结果分析 (12) 总结 (13) 参考文献 (14)

计算机组成原理第3章 运算器和运算方法

第三章运算方法和运算器3.1补码的移位运算 1、左移运算:各位依次左移,末位补0 对于算术左移,若没有改变符号位,左移相当于乘以2。 2、右移运算: 算术右移:符号位不变,各位(包括符号位)依次右移。(相当于除以2)逻辑右移:最高位补0,其余各位依次右移 例1:已知X=0.1011 ,Y=-0.0101 求 [0.5X]补;[0.25X]补; [-X]补;2[-X]补;[0.5Y]补;[0.25Y]补; [-Y]补;2[-Y]补[X]补=0.1011 [Y]补=1.1011 [0.5X]补=0.01011 [0.5Y]补=1.11011 [0.25X]补=0.001011 [0.25Y]补=1.111011 [-X]补=1.0101 [-Y]补=0.0101 2[-X]补=0.1010 (溢出) 2[-Y]补=0.1010 3.2定点加减法运算及其实现 3.2.1 补码加减法运算方法 由于计算机中的进行定点数的加减运算大都是采用补码。 (1)公式: [X+Y]补=[X]补+[Y]补 [X-Y]补=[X]补+[-Y]补(证明过程见教材P38) 例1 X=0.001010 Y=-0.100011 求[X-Y]补,[X+Y]补 解:[X]补=0.001010 [-Y]补=0.100011 则 [X-Y]补=[X]补+[-Y]补=0.001010 + 0.100011=0.101101 [X]补=0.001010 [Y]补=1.011101 则 [X+Y]补=[X]补+[Y]补=0.001010 + 1.011101=1.100111 例2:已知X=+0.25,Y=-0.625,求X+Y; X-Y写出计算的过程. 例3:已知X=25,Y=-9,求X+Y; X-Y写出计算的过程. 例4:已知X=-25,Y=-9,求X+Y; X-Y写出计算的过程.

51单片机的简单计算器设计和仿真

基于单片机的简易计算器设计与仿真

设计题目:基于单片机的简易计算器设计与仿真 一、设计实验条件: 地点:自动化系实验室 实验设备:PC机(装有Keil;Protues;Word ;Visio ) 二、设计任务: 本系统选用AT89C51单片机为主控机。通过扩展必要的外围接口电路,实现对计算器的设计,具体设计如下: (1)由于设计的计算器要进行四则运算,为了得到较好的显示效果,经综合分析后,最后采用LCD 显示数据和结果。 (2)采用键盘输入方式,键盘包括数字键(0~9)、符号键(+、-、×、÷)、清除键(on\c)和等号键(=),故只需要16 个按键即可,设计中采用集成的计算键盘。 (3)在执行过程中,开机显示零,等待键入数值,当键入数字,通过LCD显示出来,当键入+、-、*、/运算符,计算器在部执行数值转换和存储,并等待再次键入数值,当再键入数值后将显示键入的数值,按等号就会在LCD上输出运算结果。 (4)错误提示:当计算器执行过程中有错误时,会在LCD上显示相应的提示,如:当输入的数值或计算得到的结果大于计算器的表示围时,计算器会在LCD上提示overflow;当除数为0时,计算器会在LCD上提示error。 设计要求:分别对键盘输入检测模块;LCD显示模块;算术运算模块;错误处理及提示模块进行设计,并用Visio画系统方框图,keil与protues仿真 分析其设计结果。 三、设计时间与设计时间安排:

1、设计时间:6月27日~7月8日 2、设计时间安排: 熟悉课题、收集资料:3天(6月27日~6月29日) 具体设计(含上机实验):6天(6月30日~7月5日) 编写课程设计说明书:2天(7月6日~7月7日) 答辩:1天(7月8日) 四、设计说明书的容: 1、前言:(自己写,组员之间不能相同,写完后将红字删除,排版时注意对齐) 本设计是基于51系列单片机来进行的数字计算器系统设计,可以完成计算器的键盘输入,进行加、减、乘、除基本四则运算,并在LCD上显示相应的结果;设计电路采用AT89C51单片机为主要控制电路,利用MM74C922作为计算器4*4键盘的扫描IC读取键盘上的输入;显示采用字符LCD静态显示;软件方面使用C语言编程,并用PROTUES仿真。 2、设计题目与设计任务: 现实生活中人们熟知的计算器,其功能主要如下:(1)键盘输入;(2)数值显示;(3)加、减、乘、除四则运算;(4)对错误的控制及提示。 针对上述功能,计算器软件程序要完成以下模块的设计:(1)键盘输入检测模块;(2)LCD显示模块;(3)算术运算模块;(4)错误处理及提示模块。 3、主体设计部分: (1)、系统模块图:

vb复数计算器

Dim save As String Dim a As Single Dim points, over, b, c, d, e As Boolean Private Sub Command1_Click(Index As Integer) If over = True Then Text1.Text = "" End If If b = True Then Text1.Text = Text1.Text & Trim(Str(Index)) ElseIf c = True Then Text2.Text = Text2.Text & Trim(Str(Index)) ElseIf d = True Then Text4.Text = Text4.Text & Trim(Str(Index)) ElseIf e = True Then Text5.Text = Text5.Text & Trim(Str(Index)) End If over = False End Sub Private Sub Command2_Click() If points = False Then If b = True Then If Text1.Text = "" Then Text1.Text = 0 & "." points = True Else Text1.Text = Text1.Text & "." points = True End If ElseIf c = True Then If Text2.Text = "" Then Text2.Text = 0 & "." points = True Else

计算机组成原理第三章运算方法与运算器(含答案)

第三章运算方法与运算器 3.1定点数运算及溢出检测随堂测验 1、定点运算器可直接进行的运算是() (单选) A、十进制数加法运算 B、定点数运算 C、浮点数运算 D、定点数和浮点数运算 2、设计计算机字长为8位,两个十进制数X = -97 ,Y = 63, [x]补- [y]补的结果为()(单选) A、01100000 B、11011110 C、负溢出 D、正溢出 3、下列关于定点运算溢出的描述中,正确的是( ) (多选) A、补码数据表时,同号数相加可能发生溢出 B、补码数据表时,异号数相减可能发生溢出 C、参加运算的两个数,当作为有符号数和无符号数进行加法运算时,不可能两者都溢出 D、溢出检测既可用硬件实现,也可用软件实现 4、设X为被加(减)数,Y为加(减)数,S为运算结果,均采用补码数据表示,下列关于溢出电路设计的描述中,正确的是()(多选) A、采用单符号位时,直接用X、Y和S的符号位就可设计溢出监测电路 B、采用双符号位时,可直接用S的双符号位设计溢出检测电路 C、采用单符号位时,可直接用X、Y最高有效数据位运算后的进位位和S的进位设计溢出监测电路 D、对无符号数的加/减运算,可利用运算器的进位信号设计溢出检测电路 3.2 定点数补码加、减运算器设计随堂测验 1、如图所示为基于FA的运算器:为了利用一位全加器FA并配合使用控制信号P,当P= 0/1时实现A、B两个数的加法/减法运算,图中空白方框处电路的逻辑功能应该是()(单选)

A、与门 B、或门 C、异或门 D、非门 2、如图所示为带溢出检测功能的运算器该电路完成的溢出检测功能是()(多选)

运算方法和运算器

第二章运算方法与运算器 2.1.1 数值数据在机内的表示 在选择计算机的数值数的表示方式时,需要考虑以下几个因素:(1)要表示的数的类型(小数、整数、实数和复数);(2)可能遇到的数值范围;(3)数值精确度;(4)数据存储和处理所需要的硬件代价。 2.1.1.1 定点数与浮点数 计算机处理的数值数据多数带有小数,小数点在计算机中通常有两种表示方法,一种是约定所有数值数据的小数点隐含在某一个固定位置上,称为定点表示法,简称定点数;另一种是小数点位置可以浮动,称为浮点表示法,简称浮点数。 1. 定点数表示法(fixed-point) 所谓定点格式,即约定机器中所有数据的小数点位置是固定不变的。在计算机中通常采用两种简单的约定:将小数点的位置固定在数据的最高位之前,或者是固定在最低位之后。一般常称前者为定点小数,后者为定点整数。 定点小数是纯小数,约定的小数点位置在符号位之后、有效数值部分最高位之前。 2. 浮点数表示法(floating-point number) 与科学计数法相似。 2.1.1.2 数的机器码表示 1. 原码表示法 原码表示法是一种比较直观的表示方法,其符号位表示该数的符号,正用“0”表示,负用“1”表示;而数值部分仍保留着其真值的特征。 2. 补码表示法 由于计算机的运算受一定字长的限制,属于有模运算,所以,在计算机中可以使用补码进行计算。在定点小数机器中数最大不超过1,也就是负的小数对“1”的补码是等价的。但实际上,负数的符号位还有一个“1”,要把它看成数的一部分,所以要对2求补码,也就是以2为模数。 3. 反码表示方法

反码表示法中,符号的表示法与原码相同。正数的反码与正数的原码形式相同;负数的反码符号位为1,数值部分通过将负数原码的数值部分各位取反(0变1,1变0)得到。 4. 移码表示法 移码通常用于表示浮点数的阶码。 2.1.2 非数值数据在机内的表示 计算机中数据的概念是广义的,机内除了有数值的信息之外,还有数字、字母、通用符号、控制符号等字符信息有逻辑信息、图形、图像、语音等信息,这些信息进入计算机都转变成0、1表示的编码,所以称为非数值数据。 2.1.2.1 字符的表示方法 字符主要指数字、字母、通用符号、控制符号等,在机内它们都被变换成计算机能够识别的十进制编码形式。这些字符编码方式有很多种,国际上广泛采用的是美国国家信息交换标准代码(American Standard Code for Information Interchange),简称ASCII 码。 2.1.2.2 汉字的表示方法 1. 汉字的输入码 目前,计算机一般是使用西文标准键盘输入的,为了能直接使用西文标准键盘输入汉字,必须给汉字设计相应的输入编码方法。其编码方案有很多种,主要的分为三类:数字编码、拼音码和字形编码。 2. 汉字的内码 3. 汉字字形码 2.2.1 补码加法运算 补码加法的公式是: [ x ]补+ [ y ]补= [ x + y ]补( mod 2 ) 含义是:两个数的补码之和等于两个数之和的补码。 2.2.2 补码减法运算 [x-y]补=[x]补-[y]补=[x]补+[-y]补( mod 2 )

简单计算器设计

计算机程序训练任务书简单计算器设计 学院:材料科学与工程学院 专业:材料成型及控制工程 班级:07050103 学号:0705010318 姓名:郭炯

目录 一.训练目的 二.设计内容和要求 三.设计思路 四.该程序功能分析 五.系统用到的数据类型及函数六.基本算法 七.程序流程图及屏幕运行截图八.参考文献 九.设计心得 十.源程序代码

计算机程序训练设计报告 一.训练目的: 计算机程序设计训练是学习完《计算机程序设计》课程后进行的一次全面的综合性上机实验。其目的在于为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。提高学生适应实际,实践编程的能力。 二.设计内容和要求: 用C语言作为工具制作一个简单的windows计算器,根据课程设计1周时间的安排选择适当大小的设计课题,根据题目的基本需求,画出流程图,编写程序,并写出详细的设计说明书。最后上机调试通过,并进行验收,交上机报告和程序的原代码。 设计题目设计一个简单计算器 具体内容在功能上功能尽量模拟windows操作系统中的计算器,系统界面 不做强制要求。 三.设计思路 大体框架是用两个while语句来实现相应的计算,用goto 语句来实现多次进入while语句进行相应的计算,第一个while语句用于新的两个数来进行计算,第二个while语句是用上一次储存的计算结果来与另外的数进行相应的运算。 每个while语句嵌套switch语句来实现加减乘除以及三角函数等运算。 每种运算都是调用自定义的函数来实现相应运算的。 四.该程序功能分析: 该程序主要功能是计算简单运算,以及简单的三角函数的计算,优点是一次运算结束后会提醒是否将运算的结果储存下来,如果储存则与另外的数继续进行下一次运算,如果不储存,则会执行新的运算,如果不计算了即可跳出界面。同时计算开方。 五.系统用到的数据类型及其函数: 1.整型变量num 用于判断需要进行什么运算。 整型变量l 用于决定进入哪个while循环语句。 实型变量a,b,x,t a,b,x用于放置需要计算的数,t用于放置每次运算的结果。

运算方法和运算器练习题

运算方法和运算器练习题 一、填空题 1.补码加减法中,()作为数的一部分参加运算,()要丢掉。 2.为判断溢出,可采用双符号位补码,此时正数的符号用()表示,负数的符号用()表 示。 3.采用双符号位的方法进行溢出检测时,若运算结果中两个符号位(),则表明发生了溢 出。若结果的符号位为(),表示发生正溢出;若为(),表示发生负溢出。 4.采用单符号位进行溢出检测时,若加数与被加数符号相同,而运算结果的符号与操作数 的符号(),则表示溢出;当加数与被加数符号不同时,相加运算的结果()。 5.浮点加减运算在()情况下会发生溢出。 6.原码一位乘法中,符号位与数值位(),运算结果的符号位等于()。 7.一个浮点数,当其补码尾数右移一位时,为使其值不变,阶码应该()。 8.左规的规则为:尾数(),阶码()。 9.右规的规则是:尾数(),阶码()。 10.影响进位加法器速度的关键因素是(进位信号的传递问题)。 11.当运算结果的尾数部分不是()的形式时,则应进行规格化处理。当尾数符号位为() 或()时,需要右规;当运算结果的符号位和最高有效位为()或()时,需要左规。 12.(进位信号的产生与传递逻辑)称为进位链。 13.()称为进位产生函数,()称为进位传递函数。 14.ALU的基本逻辑结构是()加法器,它比行波进位加法器优越,具有先行进位逻辑,不 仅可以实现高速运算,还能完成逻辑运算。 二、选择题 1.两个补码数相加,采用1位符号位,当()时表示结果溢出。 A、符号位有进位 B、符号位进位和最高数位进位异或结果为0 C、符号位为1 D、符号位进位和最高数位进位异或结果为1 2.运算器的主要功能是进行() A、逻辑运算 B、算术运算 C、逻辑运算和算术运算 D、只作加法 3.运算器虽有许多部件组成,但核心部件是() A、数据总线 B、算术逻辑运算单元 C、多路开关 D、累加寄存器 4.在定点二进制运算中,减法运算一般通过()来实现。 A、原码运算的二进制减法器 B、补码运算的二进制减法器 C、补码运算的的十进制加法器 D、补码运算的的二进制加法器 5.在定点运算器中,无论采用双符号位还是单符号位,必须有(),它一般用()来实现。 A、译码电路,与非门 B、编码电路,或非门 C、溢出判断电路,异或门 D、移位电路,与或非门 6.ALU属于()部件。 A、运算器 B、控制器 C、存储器 D、寄存器 7.乘法器的硬件结构通常采用() A、串行加法器和串行移位器 B、并行加法器和串行左移 C、并行加法器和串行右移 D、串行加法器和串行右移 8.器件74SL181是4位的ALU芯片,使用它来构成一个16位的ALU,需要使用()片。 A、2 B、4 C、8 D、16

计算器-复数的计算方法

用计算器计算复数 (KK-82MS-1) 三、计算举例 模式:MODE CLR↓1。 1.代数式化成极坐标式 例如: 3 + j 4 = 5 /53.13o 步骤: POL↓(3,4)。结果=5; 在按键rcl↓F↓。结果等于53.13. 2. 极坐标化成代数式 例如: 15 /-50o = 9.64- j11.49 按键步骤:SHIFT↓REC↓(15,-50)。结果等于9.64. 再按rcl↓F 。结果等于-11.49. 3. 代数式的加减乘除 例如: ( 5 - j 4 ) × ( 6 + j 3 ) = 42 - j 9 = 42.953/-12.095o 步骤:先进行简单的加减运算得到42 - j 9。 POL↓(42,-9)。结果等于42.953; 再rcl↓F。结果等于-12.095. 例 ( 5 - j 4 ) + ( 6 + j 3 ) = 11 - j 1 = 11.045 /-5.1944o ( 5 - j 4 ) - ( 6 + j 3 ) = -1 - j 7 = 7.071 /-98.13o ( 5 - j 4 ) ÷ ( 6 + j 3 ) = 0.4 - j 0.8667 = 0.9545 /-65.2249

o 4.极坐标式的加减乘除 例如:5 /40o + 20 /-30o = 21.15 - j 6.786 = 22.213/-17.788o 步骤:先将5 /40o化成代数式3.83+ 3.214j,将 20 /-30o化成代数式17.32-j10;然后两式相加21.15-j6.786.然后转换成极坐标。 如进行其它运算只需将乘号换成要进行的计算号即可。这里只给出计算结果请同学自己进行练习对比。 5 /40o - 20 /-30o = -13.49 - j 13.2139 = 22.213/135.5929o 5 /40o×20 /-30o = 98.48 - j 17.3648 = 100/10o 5 /40o÷20 /-30o = 0.0855 - j 0.2349 = 0.25/70o

单片机简易计算器设计

单片机简易计算器设计 Company Document number:WTUT-WT88Y-W8BBGB-BWYTT-19998

一、设计要求 1.设计4*4的键盘,其中10个数字键0~9,其余6个为“+”“-”“*”“/”“=”和“C” 2.设计2位LED接口电路 3.实现1位数的简单运算 二、硬件系统设计 1、LED接口电路 简易计算器需要2位8段码LED显示电路。用8031单片机经8255A扩展2位8段码LED显示器,用8255A的A口作为段码(字形代码)数据口,PB0和PB1作为位控制端口。在位控制口加集电极开路的反相高压驱动器74LS06以提供驱动LED显示器所需的足够大的电流,然后接至各数码显示器的共阴极端。同理,在段码数据口集电极开路的正相高压驱动器74LS07提供足够大的电流,然后接到数码显示器的各段。逻辑电路结构如下:

2、键盘接口电路 简易计算器需要4*4的行列式键盘。用8031单片机经8255A扩展4*4行列式键盘,8255A的B口和C口用于扩展键盘接口,B口高4位作为输出口,C口低4位作为输入口。逻辑电路结构如下: 3、计算器逻辑电路图 将LED接口电路和键盘接口电路结合到一起就是简易计算器的逻辑电路图,如下: 三、软件设计 1、LED显示程序设计 LED显示器由七段发光二极管组成,排列成8字形状,因此也成为七段LED显示器,器排列形状如下图所示:

为了显示数字或符号,要为LED显示器提供代码,即字形代码。七段发光二极管,再加上一个小数点位,共计8段,因此提供的字形代码的长度正好是一个字节。简易计算器用到的数字0~9的共阴极字形代码如下表: 0~9七段数码管共阴级字形代码 2位LED显示的程序框图如下: 2、读键输入程序设计 为了实现键盘的数据输入功能和命令处理功能,每个键都有其处理子程序,为此每个键都对应一个码——键码。为了得到被按键的键码,现使用行扫描法识别按键。其程序框图如下: 3、主程序设计 (1)数值送显示缓冲程序设计 简易计算器所显示的数值最大位两位。要显示数值,先判断数值正负,如果是负值,则符号位显示“-”,然后将数值除以10,余数送显最最低位,判断商是否为0,若为0则返回,若不为0,则将商除以10,将余数送显高位。程序框图如下: (2)运算主程序设计

基于AT89C51的简单计算器设计

设计题目:基于单片机的简易计算器设计与仿真 一、设计实验条件: 地点: 实验设备:PC机(装有Keil;Protues;Word ;Visio ) 二、设计任务: 本系统选用AT89C51单片机为主控机。通过扩展必要的外围接口电路,实现对计算器的设计,具体设计如下: (1)由于设计的计算器要进行四则运算,为了得到较好的显示效果,经综合分析后,最后采用LCD 显示数据和结果。 (2)采用键盘输入方式,键盘包括数字键(0~9)、符号键(+、-、×、÷)、清除键(on\c)和等号键(=),故只需要16 个按键即可,设计中采用集成的计算键盘。 (3)在执行过程中,开机显示零,等待键入数值,当键入数字,通过LCD显示出来,当键入+、-、*、/运算符,计算器在内部执行数值转换和存储,并等待再次键入数值,当再键入数值后将显示键入的数值,按等号就会在LCD上输出运算结果。 (4)错误提示:当计算器执行过程中有错误时,会在LCD上显示相应的提示,如:当输入的数值或计算得到的结果大于计算器的表示范围时,计算器会在LCD上提示overflow;当除数为0时,计算器会在LCD上提示error。 设计要求:分别对键盘输入检测模块;LCD显示模块;算术运算模块;错误处理及提示模块进行设计,并用Visio画系统方框图,keil与protues仿真 分析其设计结果。 三、设计时间与设计时间安排: 1、设计时间:6月27日~7月8日 2、设计时间安排: 熟悉课题、收集资料:3天(6月27日~6月29日)

具体设计(含上机实验):6天(6月30日~7月5日) 编写课程设计说明书:2天(7月6日~7月7日) 答辩:1天(7月8日) 四、设计说明书的内容: 1、前言:(自己写,组员之间不能相同,写完后将红字删除,排版时注意对齐) 本设计是基于51系列单片机来进行的数字计算器系统设计,可以完成计算器的键盘输入,进行加、减、乘、除基本四则运算,并在LCD上显示相应的结果;设计电路采用AT89C51单片机为主要控制电路,利用MM74C922作为计算器4*4键盘的扫描IC读取键盘上的输入;显示采用字符LCD静态显示;软件方面使用C语言编程,并用PROTUES仿真。 2、设计题目与设计任务: 现实生活中人们熟知的计算器,其功能主要如下:(1)键盘输入;(2)数值显示;(3)加、减、乘、除四则运算;(4)对错误的控制及提示。 针对上述功能,计算器软件程序要完成以下模块的设计:(1)键盘输入检测模块;(2)LCD显示模块;(3)算术运算模块;(4)错误处理及提示模块。3、主体设计部分: (1)、系统模块图:

C++课程设计复数计算器

C++课程设计实验报告 姓名学号班级 合作者学号班级 任课教师时间 教师指定题目复数计算器评定难易级别 A级实验报告成绩

复数计算器 程序功能设计 1.程序功能的总体结构 复数计算器的程序总体功能可设计成如图1所示,可以看出,复数计算器的各种功能都用菜单选项列出,用户可以根据需要选择相应的菜单项,从而执行不同的子程序以完成相应的功能。 2.课程设计要求 (1)一开始运行程序,要有详细的菜单选项界面,用户不选择退出就可以反复运算。 (2)可以进行多个操作数的复数运算,输入0+0*i时为止。 (3)编写可以对输入的复数求模的成员函数。 (4)编写具有测试功能的函数,即计算机能够自动出题,并要求用户计算,同时计算机判断用户计算的对错并打分,要求十题为一个单元,每题一个运算符,运算符包括+,-,*三种,参与加减运算实部虚部为一位数。 (5)重载输入输出运算符,对复数的输入既可采用实部虚部分开提示输入,也可直接输入诸如a+i*b或a+ib这种形式,对复数的输出要考虑实部虚部的正负号,通过判断给出的输出结果。

2.程序设计思想 1)类的封装 程序中将复数形式的数据定义成一个复数类CComplex,重载了加法及减法等运算符,使函数的加减等运算像一般数据一样方便.每个运算符重载都用一个函数去实现。参考类的定义如下: class CComplex{

private: double Real,Image; public: CComplex(double real=0,double image=0) //构造函数 {Real=real;Image=image;} friend istream&operator>>(istream&is,CComplex&com); //重载输入friend ostream&operator<<(ostream&os,CComplex&com); //重载输出 CComplex operator+(CComplex&com); CComplex operator-(CComplex&com); //减法重载 CComplex operator*(CComplex&com); //乘法重载 CComplex operator/(CComplex&com); //除法重载 int operator==(CComplex&com); int operator!=(CComplex&com); int operator>(CComplex&com); int operator<(CComplex&com); float Module(void); //复数求模 }; (2)设计的任务要求1 在实际应用中,输入复数可能为a+bi, a, bi, -a, -bi, +i. –i. I等形式。重载

单片机课程设计报告(简易计算器)

单片机实训报告 ———简易计算器 姓名*** 学号*** 专业*** 学校*** 指导教师 *** 实训时间2014.06.23-2014.06.29

目录 中文摘要............................................................1 关键词.............................................................1 1 实训任务.........................................................1 1.1 主要功能设计................................................1 1.2 任务目的....................................................1 2 整体设计方案.....................................................1 2.1 方案论证....................................................1 2.2 系统框图....................................................2 3 控制软件设计....................................................2 3.1 程序时序总图...............................................2 3.2 液晶显示软件设计............................................3 3.3 键盘输入软件设计...........................................5 3.4 计算函数设置...............................................7 4 软件调试........................................................8 个人小结...........................................................8参考文献...........................................................9附录...............................................................9

运算方法与运算器教案

第二章运算方法和运算器 学习重点 ●数据与文字的表示 ●定点加法、减法运算 ●定点运算器的组成 ●浮点运算的步骤 2.1 数据与文字的表示方法 2.1.1 数据格式 计算机中使用的数据可分成两大类: 数值数据:数字数据的表示 (定点、浮点) 符号数据:非数字符号的表示 (ASCII、汉字、图形等) 数值数据的表示格式有定点数、浮点数两种 1.定点数的表示方法 小数点的位置固定不变,通常表示成纯小数或纯整数。 用n+1位字表示定点数X, x= x n x n-1x n-2 (x1x0) 纯小数时表示范围: 0≤|X|≤1-2-n 纯整数时表示范围: 0≤|X|≤2n-1 2.浮点数的表示方法 任意进制数N表示:N=R e·M M为尾数,数的精度; e为指数(整数),数的范围; R为基数,二进制为2,十进制为10; 浮点数由阶码、尾数及其符号位组成。 规格化:若不对浮点数的表示作出明确规定,同一个浮点数的表示就不是惟一的。例如: 0.01010010×211 0.001010010×2100 0.1010010×210 IEEE754标准 (规定了浮点数的表示格式,运算规则等) 规则规定了32位和64位两种基本格式 规则中,尾数用原码,指数用移码(便于对阶和比较),基数为2 尾数域的最高有效位为1,称为浮点数的规格化表示。 32位的浮点数 S数的符号位,1位,在最高位,“0”表示正数,“1”表示负数。 E是阶码,8位,采用移码表示。移码比较大小方便。 M是尾数,23位,在低位部分,采用纯小数表示。 规格化的浮点数尾数域最左位(最高有效位)总是1,故这一位经常不予存储,而认为隐藏在小数点的左边(1.M) 。 采用这种方式时,将浮点数的指数真值e变成阶码E时,应将指数e加上一个固定的偏移值127(01111111),即E=e+127。

CASIO fx-82ES计算器隐藏功能(矩阵、向量、解方程、复数运算等)

大家说看不明白一刚辛苦手打大家分享按shift、9、3、=、=按shift、+、1、,、0、=按分数 线到底大概7~8次按=、AC按左、1 、按次方、=、AC按上、AC 按左2次按DEL 删除1。得到r=1,等等按分数线上下都输入1 按= 再按8次Ans 继续跟着按22次sin 按AC按shift、9、1、=、AC按shift、9、2、=、AC按次方更号次方更号满点按快了会死机如死机则重来大概5组直到后面出现一串英文按DEL 删除所有次方和更号继续按DEL 开始删除 字母删到r 前面按)按=、AC按shift、9、2、=、AC按右删除)输入1 :按2次= 记住2次按MODE、2按ON按MODE 按几次右可以快捷调亮度然后修复计算机按shift、MODE、3 按shift、MODE、8、1按shift、MODE下、4、1搞定哈哈哈哈哈哈ENG就是i如输入8+6i /9+47i后一定要按shift、2、4那是负数指令不按你死定了 注:本次升级目标:从fx-82ES(B版)升级到fx-991ES 在所有操作之前,请先检查计算器屏幕左上角是否有“M”字样。如果有,请按0+shift+RCL(STO)+ M+。如果没有,请继续操作。 所有隐藏模式调出前请先进入异常模式: 注:【】代表注释( )代表第二功能键 首先打开计算器电源(ON) 1. shift 2. + (Pol) 3. 1 4. shift 5. ")" ( , ) 6. 0 7. ) 【前7步最后显示为"Pol(0,1)"】 8. = 9. 狂按分数线,直到按到顶不动为止【似乎是7到8个】 10. 按= (显示Syntax ERROR 不要管它),AC,左 11. 1 12. 幂【在方向键下面,就是X上面有个小白框的键】 13. = 14. AC 15. 向上键 16. AC

相关主题
文本预览
相关文档 最新文档