文档库 最新最全的文档下载
当前位置:文档库 › ARM无符号多字节整数乘法

ARM无符号多字节整数乘法

ARM无符号多字节整数乘法
ARM无符号多字节整数乘法

昆明理工大学信息工程与自动化学院学生实验报告

(2012 —2013 学年第一学期)

课程名称:ARM体系结构系统开课实验室:信自楼443 2012 年11月29日

实验三ARM无符号多字节整数乘法

一、实验目的

●进一步学习使用Embest IDE for ARM 开发环境及ARM软件模拟器;

●掌握ARM多字节整数乘法的汇编程序设计方法。

二、实验原理

1. ARM的乘法指令把一对寄存器的内容相乘,然后根据指令类型把结果累加到其它的寄存器。长整型乘法指令产生64位的结果。由于结果太大,不能存放在一个32位寄存器,所以把结果存放在2个32位的寄存器RdLo和RdHi中。RdLo存放低32位,RdHi存放高32位。利用UMULL和SUMLL指令可以进行32位宽度的无符号或有符号的整数乘法运算,得到64位的结果。乘法指令的语法:

MLA {}{S} Rd,Rm,Rs,Rn

对于64位整数乘法运算可利用如图1所示的扩展方法来实现。其中: R0,R1分别存放被乘数的低32位和高32位; R2,R3分别存放乘数的低32位和高32位;

128位结果由低到高依次存放在R4,R5,R6,R7中。

三、实验内容

● 依据图2-1框图所示方法编制2个64位无符号整数乘法的程序。

● 运行Embest IDE 集成开发环境,输入自己设计的64位整数乘法汇编程序,生成目

标代码,连接下载后进行调试。

四、实验步骤

1. 打开memory 窗口,观察地址0x8000周围的内容。

2. 执行程序并观察和记录寄存器与memory 的值变化。

3. 结合实验内容和相关资料,观察程序运行,检验程序执行过程和结果是否正确,通

过实验加深理解ARM 指令的使用。

×

图1: 2个64位无符号整数乘法的扩展方法

L

H L

H H L

L

五、实验参考程序

.global _start

.text

_start:

ldr r0, =0x12345678

ldr r1, =0x10000000

ldr r2, =0x12345678

ldr r3, =0xF000000F

umull r5, r6, r2, r0

umull r7, r8, r3, r0

adds r6, r6, r7

adc r7, r8, #0x0

umull r8, r9, r2, r1

umull r10, r11, r3, r1

adds r9, r9, r10

adc r10, r11, #0x0

adds r6, r6, r8

adcs r7, r7, r9

adc r8, r10, #0x0 stop:

B stop

.end

六、思考题

考虑利用UMLAL指令(长整型乘累加)完成上述程序功能。.global _start

.text

_start:

ldr r0, =0x12345678

ldr r1, =0x10000000

ldr r2, =0x12345678

ldr r3, =0xF000000F

umull r5, r6, r2, r0

umlal r6, r7, r3, r0

umlal r6, r7, r2, r1

umlal r7, r8, r3, r1

stop:

B stop

.end

整数大数乘法以及小数大数乘法实现

声明:本算法可以实现整数乘以整数,小数乘以小数功能。但是小数只能是小数点前不为0 的小数。比如0.1之类的不适用。 #include #include using namespace std; void multiply(const char*a,const char*b) { int length1=strlen(a); int length2=strlen(b); int*p=new int[length1+length2]; for(int i=0;i=0;i--) { if(p[i]>=10) { p[i-1]+=p[i]/10; p[i]=p[i]%10; } } char*pp=new char[length1+length2+1]; int count=0; while(p[count]==0) { count++; } int i1; for(i1=0;count

void dianmultiply(const char*a,const char*b) { int place1=0; int place2=0; char*newp1=new char[strlen(a)]; char*newp2=new char[strlen(b)]; int k1=0; int k2=0; for(int i=0;i

1下列操作系统中

1.下列操作系统中,_B OR_C____不属于多用户操作系统 A.UNIX B.WINDOWS 95 C.IBM OS/2 D.WINDOWS NT 2.在MS-DOS6.22中,6的含义是__A__. A.MS-DOS的主版本号为6 B.MS-DOS的次版本号为6 C.MS-DOS的大小为6 D.MS-DOS第6代 3.计算机病毒是一种___C____ A.生物体B.化学物C.程序D.幻觉 4.从一个目录转向另一个目录,应使用的命令是__B____ A.MD B.CD C.RD D.DEL 5.计算机使用的数据中,字符编码通常采用__B____ A.BCD码B.扩展的ASCII码C.国标码D.区位码 6.以紧缩格式显示A盘上的所有文件的文件名清单,应使用的命令是__B_____ A.DIR A:\*.*/A/S B.DIR A:\*.*/S/W C.DIR A:\*.*/P/S D.DIR A:\*.*/P/W 7.冯.诺依曼式的计算机的核心思想是____C_____ A.二进制B.程序C.程序存储原理D.数据存储 8.MS-DOS中,__ B ___是DOS内核与外层模块的接口。 A.DOS引导记录B.IO.SYS C.MSDOS.SYS D.https://www.wendangku.net/doc/9a15099037.html, 9.计算机中MHZ是用来标识__B____的单位 A.运算速度B.主频C.字长D.存储容量 10.在Windows 95的安装过程中,系统将给出四种安装的选择形式,其中_D___不是系统提供的安装形式。 A.典型安装B.便携安装C.定制安装D.选择安装 11. 微型机算机中,常用于存放固定的程序和数据的是__B____ A.随机存储器B.只读存储器C.顺序存储器D.高速缓冲存储器 12.在Windows 95中,剪贴板不暂存_D____。 A.文字B.符号C.声音和图像D.DOS环境下复制或剪切的内容 13. 和软盘比较,硬盘所具备的优点的是__A____ A.存储量大,存取速度快 B.硬盘固定在机箱中,携带不便 C.属于微机的外存 D.可被用来进行读写操作 14.Windows 95中的“MS-DOS方式”可以是全屏幕方式,也可以是窗口方式,通过__D____键可以在“全屏幕方式”和“窗口方式”之间转换。 A.Ctrl+Esc B.Ctrl+Enter C.Alt+Esc D.Alt+Enter 15. 在计算机硬件的五个组成部分中,唯一一个能向控制器发送数据流的是_D_____ A.输入设备B.输出设备C.运算器D.存储器 16.启动资源管理器的方法很多,以下不能启动资源管理器的是___D___。 A.鼠标右键单击“开始”菜单 B.用鼠标右键单击“我的电脑”图标

数字电路课程设计实验报告1

序言 在测试、研究或调整电子电路及设备时,为测定电路的一些点参量,如测量频率响应、噪声系数,为电压表定度等,都要求提供符合所需技术要求的电信号,以模拟在实际工作中使用的待测设备的激励信号。信号发生器即由此而来,作为电子设计中常用仪器仪表,信号发生器又称信号源,可以用来产生被测电路所需特定参数的电测试信号。根据输出波形的不同,信号源可以分为正弦波信号发生器、矩形脉冲信号发生器、函数信号发生器和随机信号发生器等四大类。例如当要求进行系统的稳定性测量时,需使用振幅、波形、幅值等能在一定范围内进行精确调整,有很好的稳定性,有输出指示。基于信号发生器的广泛使用,对信号发生器设计的研究就显得非常有意义。 本课题是利用VHDL语言来实现计费功能的,VHDL具有与具体硬件电路无关和与设计平台无关的特性,并且具有良好的电路行为描述和系统描述的能力,并在语言易读性和层次化、结构化设计方面,表现了强大的生命力和应用潜力,因此选用VHDL语言进行编程。 本次课程设计巩固和运用了所学课程,通过理论联系实际,提高了分析、解决计算机技术实际问题的独立工作能力,通过对一个函数信号发生器的设计,进一步加深了对计算机原理以及数字电路应用技术方面的了解与认识,进一步熟悉了数字电路系统设计、制作与调试的方法和步骤。进一步了解了计算机组成原理与系统结构,使自己对EDA技术的学习更深入,学会用VHDL语言去控制将会使我们对本专业知识可以更好地掌握。 现在的信号发生器设计有以下几种方法: (1) 模拟直接合成法。这种方法充分利用了乘法器、除法器、混频器、滤波器和快速开关构成合成信号发生器,但是它的缺点是带宽不够高,性能差,构成信号发生器的电路体积比较庞大,而且功耗较高。

无符号大整数计算器

C语言及面向对象程序设计实验石家庄铁道大学信息学院 A 数学类 1.题目要求: 高斯消元法求解线性方程组:在线性代数中,学习过用高斯消元法求解线性方程组,用类来实现该方法,并在主函数中进行测试; 2.解题思路: 通常应用高斯消元法的时候,不会直接写出方程组的等式来消去未知数,反而会使用矩阵来计算,将其转化为行阶梯式矩阵,所以程序的算法即线性代数中的矩阵变换为行阶梯式矩阵步骤,所以用一个二维数组存放系数矩阵,一个一维数组存放解值。 3.类的结构(数据和函数); //gauss.h #pragma once #include #include #define N 100 using namespace std; class gauss { private: double a[N][N],b[N]; public: gauss(void); void setvalue(int ); ~gauss(void); }; //gauss.cpp #include "gauss.h" gauss::gauss(void) { }

void gauss::setvalue(int n) { int i,j,k; double a[N][N]; cout<<"请输入"<>a[i][j]; double o,b[N]; for (i=1;i<=n;i++) for (j=i+1;j<=n;j++) if (fabs(a[j][i])>1e-7) { o=a[i][i]/a[j][i]; for (k=i;k<=n+1;k++) a[j][k]=a[j][k]*o-a[i][k]; } for (i=n;i>0;i--) { b[i]=a[i][n+1]/a[i][i]; for (j=i-1;j>0;j--) a[j][n+1]=a[j][n+1]-b[i]*a[j][i]; } cout<<"解得:"< #include #include "gauss.h" using namespace std; void main() { int n; cout<<"请输入未知数个数:"<

大整数乘法(分治法)

#include #include #include #include #define DATASIZE 1000 //该函数用以接收用户输入的大整数,返回值为该大整数的数字位数 int InputBigInt(int arr[]) { char ch; int i=0; printf("Input a Big Interger:"); while(1) { scanf("%c",&ch); if(ch=='\n') break; else arr[i++]=ch-'0'; } return i; } //该函数通过在较短的大整数之前填充0的方式,将两个大整数的位数对齐,返回值为较长的那个大整数的位置 int AlignArray(int *a,int len_a,int *b,int len_b) { int len_align=len_a; if(len_a>len_b) { for(int i=len_b-1;i>=0;i--) b[i+(len_a-len_b)]=b[i]; for(int i=0;i=0;i--) a[i+(len_b-len_a)]=a[i]; for(int i=0;i

a[i]=0; len_align=len_b; } return len_align; } //该函数通过删去大整数前面无意义的0来得到其真实的数字位数 int Adjust(int a[],int len) { while(a[0]==0) { int j=1; do{ a[j-1]=a[j]; j++; }while(j=0;i--) { int t=a[i]+b[i]+carry; c[i+1]=t%10; carry=t/10; } c[0]=carry; return length+1; } //两个长度为length的大整数做减法,得到的结果放到数组C中,长度为length int Sub(int a[],int b[],int c[],int length) { int borrow=0; for(int i=length-1;i>=0;i--) {

计算机问题

1.1.1计算机的起源 1.十九世纪中叶,数学家布尔成功地将形式逻辑归结为一种代数运算;1937年数学家图灵提出了著名的“图灵机”模型,证明了通用数字计算机是可以制造出来的。这两位科学家的国籍是 d A.美国和英国B.英国和美国C.美国和美国D.英国和英国 1.1.2计算机的发展 1.我国自行设计研制的“银河III”型计算机是 d A.微型计算机 B.小型计算机 C.中型计算机巨型计算机 2.世界上第一台电子计算机诞生于___a_____ A.20世纪40年代B.19世纪C.20世纪80年代D.1950年 3.人们把1958年至1964年作为第二代计算机时代,其硬件逻辑元件为 d A. 集成电路B.电子管C.晶体管D.超大规模集成电路 4.所谓第三代计算机是以哪种逻辑元件为主要零件?d A.电子管B.集成电路C.晶体管D.以上都不对 5.计算机发展的方向是巨型化、微型化、网络化、智能化。其中巨型化是指 c A.体积大 B.重量重 C.功能更强、运算速度更快、存储容量更大 D.外部设备更多 1.1.3计算机的特点和分类: 1.计算机与其它工具和人类自身相比,具有哪些主要特点? a A.速度快、精度高、通用性 B.速度快、自动化、专门化 C.精度高、小型化、网络化 D.以上全是 2.下面有关计算机的描述,正确的是__c__ A.所谓数字计算机,是指只能用于处理数字信息的计算机 B.所谓模拟计算机,是指用于模拟各种运动现象的计算机 C.所谓巨型计算机,是指性能指标水平很高的计算机 D.所谓微型计算机,是指用于原子探测的计算机 1.1.4计算机技术的应用: 1.在计算机的应用领域中, CAE表示__b__ A.计算机辅助设计B.计算机辅助教育C.计算机辅助制造D.计算机辅助程序设计 2.在计算机的应用领域中, CAD表示__a__ A.计算机辅助设计B.计算机辅助教学C.计算机辅助制造D.计算机辅助程序设计 3.目前计算机最具有代表性的应用领域有科学计算、数据处理、辅助设计、实时控制及__d__。 A.文字处理B.办公自动化C.过程控制D.计算机网络 4.在计算机的应用领域, 下面叙述不正确的是__c__

4FPGA实验报告8位乘法器—徐艺萍

实验四8位乘法器实验 一、实验原理 8位乘法器,输入为两个8位信号,输出结果为16位。 module mult8(out, a, b); //8位乘法器源代码 parameter size=8; input[size-1:0] a,b; //两个操作数 output[2*size-1:0] out; //结果 assign out=a*b; //乘法运算符 endmodule 本实验采用Chipscope-Pro生成VIO/ICON核,并插入到8位乘法器设计中,在线进行观测和调试。 二、实验目的 1. 熟悉ISE9.1 开发环境,掌握工程的生成方法; 2. 熟悉SEED-XDTK XUPV2Pro 实验环境; 3. 了解Verilog HDL语言在FPGA 中的使用; 4. 通过掌握8位乘法器的Verilog HDL设计,了解数字电路的设计。 三、实验内容 1. 用Verilog HDL语言设计8位乘法器,进行功能仿真验证。 2. 使用chipscope-Pro 生成VIO/ICON 核,在线观测调试。 四、实验准备 1. 将USB 下载电缆与计算机及XUPV2Pro 板的J8 连接好; 2. 将RS232 串口线一端与计算机连接好,另一端与板卡的J11 相连接; 3. 启动计算机,当计算机启动后,将XUPV2Pro 板的电源开关SW11 打开到ON 上。观察XUPV2Pro 板上的+2.5V,+3.3V,+1.5V 的电源指示灯是否均亮。若有不亮的,请断开电源,检查电源。

五、实验步骤 ⑴创建工程及设计输入 ①在E:\project\目录下,新建名为mult8的新工程; 器件族类型(Device Family)选择“Virtex2P”, 器件型号(Device)选“XC2VP30 ff896 -7”, 综合工具(Synthesis Tool)选“XST (VHDL/Verilog)”, 仿真器(Simulator)选“ISE Simulator” ②设计输入并保存。 ⑵功能仿真 ①在sources窗口sources for中选择Behavioral Simulation。 ②由Test Bench WaveForm 添加激励源,如图1所示。仿真结果如图2所示。 图1 波形激励编辑窗口 图2 仿真结果 从图中可以验证由Verilog HDL语言设计的8位乘法器的工作是正确的,不论是输入a的值变化还是输入b的值变化,输出值随之变化,为a与b的乘积。 ⑶生成核并添加核 本次试验内容为8位乘法器,不需要使用ILA核。因此下面使用核生成法生成一个ICON核,一个VIO核就可以了。 ①首先对生成的工程进行综合。 ②生成核 ③添加核

四位原码乘法器

1.课程设计的内容和要求 内容:设计四位原码乘法器电路。 要求:1.有关资料,设计乘法器电路; 2.画出乘法器逻辑图; 3.在实验箱上完成乘法器电路的组装,调试,核对记录,测试有关数据, 通过老师当场验收; 4.完成课程设计报告。 1.课程设计原理 运用存储器的存储功能实现数字的存储。令电路的初始状态为000,000,000000。以二进制的形式输入数字,计算方式是以十进制数字乘法。输入的数字为三位数字,输出的是六位数字。先存储输入的乘数和乘积,然后再将乘积的导线端连到输出段,此时之前输入的乘积就可以在输出端显示。 此时序电路的真值表为:

1.课程设计思路 本次课程设计的题目为四位原码乘法器,利用真值表输入乘数时,需要存放数字,于是我查阅了一些资料,用存储器可以实现这一电路,所以本实验中用到的是INTEL 2114芯片。 具体实现过程如下图: a a b b F 32F 1 1.课程设计所需的器材 1.2114是一个容量为1K4位的静态RAM芯片,常用于寄存器。 其具体的引脚图为: 此芯片的电路图为: 2.数字电路实验箱 3.导线若干 1.课程设计实现 本次课程设计的题目是四位原码乘法器电路。 此部分只用到了2块INTEL2114芯片,具体连接如下: 1、先将这些芯片按在电路板上(注意不要插反,否者容易烧毁芯片)。 2、将两片芯片的A6和GND端,A7,A8,A9接地。 3、Vcc端接电压5V,cs接存储端,WE端接控制端。 4、两块芯片的A5,A4,A3组成一个乘数,A0,A1,A2组成另一个乘数。其中一块芯

片的I/O1,I/O2,I/O3,I/O4和另一块芯片的I/O1,I/O2组成要求的乘积。乘数与乘积的显示方式均为二进制,但是计算方法是以十进制数的乘法法则计算。 1.调试步骤及方法 在连接实验器件之前,要先检查如下实验器件: 1、检查芯片引脚是否有损坏。 2、检查电路板是否好用。 连接实验器件时要注意: 2严格按照电路图一步一步连接,以避免连接错误。 3导线要先连接电源测试是否导电。 连接好电路进行数据测试,输入001,010,000010,存储;001,101,000101,存储;001,111,000111,存储。将连在输入端的四个输出连接到输出端,并输入001,010,但是结果并不是000010,而是000100;再输入001,101,也没有得到000101的结果,而是000110的结果。检查线路,发现输出的线路错位,纠正后重新输入乘数,结果均得到计算结果。调试成功。 1.实验结果 连接好整个电路。A5A4A3和A2A1A0为输入端,即乘数,F5F4F3F2F1F0为输出端,即乘积。如下表: 8. 课程设计结果 输入000,000,000000,存储;

有符号数与无符号数

1、你自已决定是否需要有正负。 就像我们必须决定某个量使用整数还是实数,使用多大的范围数一样,我们必须自已决定某个量是否需要正负。如果这个量不会有负值,那么我们可以定它为带正负的类型。 在计算机中,可以区分正负的类型,称为有符类型,无正负的类型(只有正值),称为无符类型。 数值类型分为整型或实型,其中整型又分为无符类型或有符类型,而实型则只有符类型。 字符类型也分为有符和无符类型。 比如有两个量,年龄和库存,我们可以定前者为无符的字符类型,后者定为有符的整数类型。 2、使用二制数中的最高位表示正负。 首先得知道最高位是哪一位?1个字节的类型,如字符类型,最高位是第7位,2个字节的数,最高位是第15位,4个字节的数,最高位是第31位。不同长度的数值类型,其最高位也就不同,但总是最左边的那位(如下示意)。字符类型固定是1个字节,所以最高位总是第7位。 (红色为最高位) 单字节数:1111 1111 双字节数:1111 1111 1111 1111 四字节数:1111 1111 1111 1111 1111 1111 1111 1111 当我们指定一个数量是无符号类型时,那么其最高位的1或0,和其它位一样,用来表示该数的大小。 当我们指定一个数量是无符号类型时,此时,最高数称为“符号位”。为1时,表示该数为负值,为0时表示为正值。 3、无符号数和有符号数的范围区别。 无符号数中,所有的位都用于直接表示该值的大小。有符号数中最高位用于表示

正负,所以,当为正值时,该数的最大值就会变小。我们举一个字节的数值对比: 无符号数: 1111 1111 值:255 1* 27 + 1* 26 + 1* 25 + 1* 24 + 1* 23 + 1* 22 + 1* 21 + 1* 20 有符号数: 0111 1111 值:127 1* 26 + 1* 25 + 1* 24 + 1* 23 + 1* 22 + 1* 21 + 1* 20 同样是一个字节,无符号数的最大值是255,而有符号数的最大值是127。原因是有符号数中的最高位被挪去表示符号了。并且,我们知道,最高位的权值也是最高的(对于1字节数来说是2的7次方=128),所以仅仅少于一位,最大值一下子减半。 不过,有符号数的长处是它可以表示负数。因此,虽然它的在最大值缩水了,却在负值的方向出现了伸展。我们仍一个字节的数值对比: 无符号数: 0 ----------------- 255 有符号数: -128 --------- 0 ---------- 127 同样是一个字节,无符号的最小值是 0 ,而有符号数的最小值是-128。所以二者能表达的不同的数值的个数都一样是256个。只不过前者表达的是0到255 这256个数,后者表达的是-128到+127这256个数。 一个有符号的数据类型的最小值是如何计算出来的呢? 有符号的数据类型的最大值的计算方法完全和无符号一样,只不过它少了一个最高位(见第3点)。但在负值范围内,数值的计算方法不能直接使用1* 26+ 1* 25的公式进行转换。在计算机中,负数除为最高位为1以外,还采用补码形式进行表达。所以在计算其值前,需要对补码进行还原。这些内容我们将在第六章中的二进制知识中统一学习。 这里,先直观地看一眼补码的形式: 以我们原有的数学经验,在10进制中:1 表示正1,而加上负号:-1 表示和1相对的负值。 那么,我们会很容易认为在2进制中(1个字节): 0000 0001 表示正1,则高位为1后:1000 0001应该表示-1。 然而,事实上计算机中的规定有些相反,请看下表:

大整数乘法问题

大整数乘法问题 一、问题分析 (1)采用分治法的思想,将一个多位的二进制数分成几个位数较少的二进制数进行计算。这样不断地往下分,直到分出的二进制数相对简单,可以直接算出来。 (2)对于这个算法,上课时讲过了时间复杂度为O(n^1.59)。 二、问题解决 (1)具体程序代码(c++) #include #include using namespace std; #define M 100 #define N 100 ifstream infile; ofstream outfile; int Weishu(int u[]); int *add(int *m,int *n); int *Mul(int n,int *u,int *v); int Weishu(int u[]) { int t=0; while(u[t]==1 || u[t]==0){ t++; } return t; } int *Mul(int n,int *u,int *v) { int w[M],x[M],y[M],z[M];

int a[M],b[M],c[M],d[M]; int wy[M],xz[M],wz[M],xy[M]; int *aa,*bb,*cc,*dd; int mid; int i,j; int Ji[M],k=0; if(n==1) { Ji[k]=u[0]*v[0]; k++; return(Ji); } else { mid=(n+1)/2; for(i=0;i

全国计算机等级考试一级MSOffice考试模拟题

2012年全国计算机等级考试一级f ice考试模拟题 一、选择题 1.计算机之所以按人们的意志自动进行工作.最直接的原因是因为采用了 A)二进制数制 B)高速电子元件 C)存储程序控制 D)程序设计语言 【参考答案】:C 2.微型计算机主机的主要组成部分是 A)运算器和控制器 B)CPU和内存储器 C)CPU和硬盘存储器 D)CPU、内存储器和硬盘 【参考答案】:B 3.一个完整的计算机系统应该包括 A)主机、键盘、和显示器 B)硬件系统和软件系统 C)主机和其他外部设备 D)系统软件和应用软件 【参考答案】:B 4.计算机软件系统包括 A)系统软件和应用软件 B)编译系统和应用系统 C)数据库管理系统和数据库 D)程序、相应的数据和文档 【参考答案】:A 5.微型计算机中,控制器的基本功能是 A)进行算术和逻辑运算 B)存储各种控制信息 C)保持各种控制状态 D)控制计算机各部件协调一致地工作 【参考答案】:D 6.计算机操作系统的作用是 A)管理计算机系统的全部软、硬件资源,合理组织计算机的工作流程,以达到充分发挥计算机资源的效率,为用户提供使用计算机的友好界面 B)对用户存储的文件进行管理,方便用户 C)执行用户键入的各类命令 D)为汉字操作系统提供运行基础 【参考答案】:A 7.计算机的硬件主要包括:中央处理器(CPU)、存储器、输出设备和

B)鼠标 C)输入设备 D)显示器 【参考答案】:C 8.下列个组设备中,完全属于外部设备的一组是 A)内存储器、磁盘和打印机 B)CPU、软盘驱动器和RAM C)CPU、显示器和键盘 D)硬盘、软盘驱动器、键盘 【参考答案】:D 9.五笔字型码输入法属于 A)音码输入法 B)形码输入法 C)音形结合输入法 D)联想输入法 【参考答案】:B 10.一个312编码字符集中的汉字的机内码长度是 A)32位 B)24位 C)16位 D)8位 【参考答案】:C 11.RAM的特点是 A)断电后,存储在其内的数据将会丢失 B)存储在其内的数据将永久保存 C)用户只能读出数据,但不能随机写入数据 D)容量大但存取速度慢 【参考答案】:A 12.计算机存储器中,组成一个字节的二进制位数是 A)4 B)8 C)16 D)32 【参考答案】:B 13.微型计算机硬件系统中最核心的部件是 A)硬盘 B)I/O设备 C)内存储器 D)CPU 【参考答案】:D 14.无符号二进制整数111转变成十进制整数,其值是 A)17 B)19

两个大整数相加实验报告

两个大整数的加法实验报告 实验目的 利用VC算出两个大整数的加法结果,更深入的了解加法与线性列表逆转的算法运用。实验代码 typedef char ElemType typedef struct { ElemType Element [ MaxSize]; int Length; }SeqList; SeqList List; void Add(Sqelist*L_pointer1,SeqList*L_pointer2,Seqlist*L_pointer3) { int i,j,k; char sum; int flag; i=L_pointer1->Length-1; j=L_pointer2->Length-1; k=0; L_pointer3->Length=0; flag=0; while(i=0&&j>=0) { sum=L_pointer1->Element[i]+L_pointer2->Element[j]+flag; if(sum>9) { flag=1;sum=sum%10; else flag=0; L_pointer3->Element[k]=sum; L_pointer3->Length++; i--;j--;k++; } while(i>-1) { sum=L_pointer1->Element[i]+flag; if(sum>9) { flag=1;sum=sum%10;} else flag=0; L_pointer3->Element[k]=sum; L_pointer3->Length++; i--;k++; }

while(j>-1) { sum=L_pointer2->Element[j]+flag; if(sum>9) { flag=1;sum=sum%10; } else; flag=0; L_pointer3->Element[k]=sum; L_pointer3->Length++; j--;k++; } if(flag==1) { L_pointer3->Element[k]=1; L_pointer3->Length++; } Reverse(L_pointer3); } void Reverse(SeqList * L_pointer) { ElemType temp,*p,*q; p=L_pointer->Element; q=L_pointer->Element+L_pointer->Length-1; while(p<=q) { temp=*p; * p=* q; * q=temp; p++;q--; } } void main () { int x,i,loca; char s[80]; SeqList List1,List2,List3; Init_SeqList(&List1); Init_SeqList(&List2); Init_SeqList(&List3); printf("请输入两个长整数,用空格分开:") scanf("%s",s); i=0; while(s[i]!='\0') { Insert_Last(&List1,s[i]-'0'); i++; } scanf("%s",s);

计算机基础知识测试题第一章

第一章计算机基础知识 一.单项选择题 1.信息能够实现增值主要因为信息具有() A.可处理性 B.价值性 C.共享性 D. 时效性 2.文化具有的基本属性不包括() A.广泛性 B.深刻性 C.独享性 D.传递性 3.现代计算机是从古老的计算工具一步步发展而来的,珠算盘出现在我国()朝。 A.唐 B.南北 C.宋 D.明 4.我国1958年研制出第一台()。 A.电子管计算机 B.晶体管计算机 C.集成电路计算机 D.巨型机 5.我国1964年研制出第一台() A.晶体管计算机 B.电子管计算机 C.集成电路计算机 D.巨型机 6.我国1971年研制出第一台()。 A.集成电路计算机 B.巨型机 C.晶体管计算机 D.电子管计算机 7.信息论的创始人是美国数学家() A.冯·诺依曼 B.比尔·盖茨 C.维纳 D.香农 8.()提出的“存储程序”工作原理决定了计算机硬件系统有五个基本组成部分。 A.巴贝奇 B.莱布尼兹 C.布尔 D.冯·诺依曼 9.世界上不同型号的计算机,就其工作原理而论,一般认为都基于()籍科学家冯·诺依曼提出的存储程序工作原理。 A.匈牙利 B.英 C.美 D.葡萄牙 10.属于巨型机的是()。 A. PC机 B.银河系列 C. C-1 D.FX系列 11.目前发展最快、应用最广泛的是()。 A.中小规模集成电路计算机 B.晶体管计算机 C.巨型机 D.微型计算机 12.计算机应用系统的基本特征是()。 A.知识处理 B.数据处理 C.智能处理 D.数值处理 13.十六进制数5A.B的二进制表示是() A. 1011010.1011 B.1101101.11 C.1010111.101 D.1011011.111 14.八位无符号二进制数所能表示的最大数是()。 A.(FF)16,(255)10都不对 B.(FF)16 C.(FF)16,(255)10都对 D.(255)10 15.按无符号整数对待,一个字节的二进制数码最大相当于十进制数()。 A.255 B.256 C.100000000 D.10000000 16.将十进制数76.625转换成十六进制数为()。 A. 3D.5 B. 123.10 C. 4C.A D. 123.5 17.以下四个数中,数值最大的是()。 A. 201D B. 3230 C. 11000110B D. B4H 18.已知字符“E”的ASCII码的十进制数是69,则字符“h”的ASCII码的十进制数表示是() A.101 B.106 C.72 D.104 19.标准ASCII码可表示()个不同字符。 A. 512 B. 256 C. 128 D. 72 20.将组成软件系统的所有文件,复制到本机的硬盘,双击主程序就可运行的软件称为()。

2位乘法电路

国家电工电子实验教学中心 数字电子技术 实验报告 实验题目:1、2位乘法器 2、可控加法器 3、可控乘法器 4、数模转换电路 5、模拟转换电路 学院:电子信息工程学院 专业: 学生姓名: 学号: 任课教师: 2013 年12 月 3 日

1、设计任务要求 用加法器实现2位乘法电路。 2、设计方案及论证 (1)任务分析: ①设计乘法运算,运用所学的知识,即可转换为累加的情况。其中用到全加器的知识,不过,要在其基础上考虑进位,即所谓的级联。 ②A-B=A+(-B) = (A+(-B))补=A补+(-B)反+1 ③S3=A1A0B1B0 S2=A1A0B0+A1A0B1 S1=A1A0B1+A0B1B0+A1B1B0+A1A0B0 S0=A0B0 (2)方案比较 方案一: 1.设两位二进制分别为A1A0和B1B0,输出为S3S2S1S0 2.可以用与门(74LS08) 式1 方案一公式

方案二: 见真值表: 表一真值表根据真值表画卡诺图列出表达式为: S3=A1A0B1B0 S2=A1A0B0+A1A0B1 S1=A1A0B1+A0B1B0+A1B1B0+A1A0B0 S0=A0B0

通过真值表的分析和卡诺图的简化,得出逻辑表达式。然后运用逻辑门进行连接,即可得到所需的电路了。 比较方案: 通过对比方案一和方案二,方案二单纯利用基本逻辑门完成此多功能运算电路的电路图需要的逻辑门种类多,且逻辑门个数很多,有几个门还没有接触,其插线复杂,占用空间大,不适合在实际操作中实现,故排除此种方案。方案一所用晶体模块都学过,用起来也比较方便,而且能巩固学过的知识。综合以上,我们小组选择方案一。 (3)系统结构设计 在我们小组的方案中,连续两次用到了全加器,联想到集成块方面的知识,级联全加器可以用74LS183代替,这种双全加器具有独立的全加和与进位输出,即可将每个全加器单独使用,又可将一个全加器的进位输出端与另一个进位输出端连接起来,组成2位串行加法器。此处即用到它的第二个功能。这种集成全加器级联方便,使用时分灵活。具体原理图如下: 图一原理图 (4)具体电路设计

无符号数的识别

无符号数的词法分析程序 一、实验目的和要求 (1)初步掌握编译原理的实验的技能; (2)验证所学理论、巩固所学知识并加深理解。 二、实验内容和原理 内容:掌握词法分析的基本思想,并用高级语言编写无符号数(包括整数和实数)的词法分析程序。 要求:从键盘中输入一字符串(包括字母、数字等),编写程序识别出其中的无符号数。 无符号数的文法规则课定义如下: <无符号数> <无符号实数>|<无符号整数> <无符号实数> <无符号整数>.<数字串>[E<比例因子>] <比例因子> <有符号整数> <有符号整数> [+|-]<无符号整数> <无符号整数> <数字串> <数字串> <数字>{<数字>} <数字> 0 1 2 3 4 5 6 7 8 9 本实验中我利用了状态转化图的思想,下面是试验中用到构造的状态转化图:

字 描述状态机的代码格式如下: int state = S0 ; while(1) { Switch(state) { case S0 : if(T0转移条件满足) {状态转移到满足T0的次态;操作;} if(T1转移条件满足) {状态转移到满足T1的次态;操作;} if(T2转移条件满足) {状态转移到满足T2的次态;操作;} … Break ; case S1 : //插入S1状态下的操作; break ;

… } } 实验代码: //本程序主要实现实数的识别 import java.io.BufferedReader ; import java.io.IOException ; import java.io.InputStreamReader ; public class RealNumberIdentified { /*---------------------------------成员变量的定义---------------------------------------*/ private final int S_0 = 0 ; private final int S_1 = 1 ; private final int S_2 = 2 ; private final int S_3 = 3 ; private final int S_4 = 4 ; private final int S_5 = 5 ; private final int S_6 = 6 ; private final int S_7 = 7 ;

大整数的乘法实验报告

算法设计与分析实验报告 姓名:XXX 班级:XXX 学号:XXX

一、实验名称:大整数的乘法 时间:2012年3月7日,星期三,第四节 地点:12#311 二、实验目的及要求 实现大整数相乘,需要处理很大的整数,它无法在计算机硬件能直接表示的整数范围内进行处理。若用浮点数来表示它,则只能近似的表示它的大小,计算结果中的有效数字也受到限制。如要精确地表示大整数并在计算结果中要求精确地得到所有位数上的数字,就必须用软件的方法来实现大整数的算术运算。 三、实验环境 Vc++。 四、实验内容 从键盘上输入两个大整数,实现两个大整数相乘,并输出结果。 例如:在键盘上输入两个数a,b。 a=9876543210; b=369852147; 五、算法描述及实验步骤 定义三个数组a[100],b[100],c[199]。 用数组a来存放大整数a,a[0]=9,a[1]=8,a[2]=7,a[3]=6,a[4]=5,a[5]=4,a[6]=3, a[7]=2,a[8]=1,a[9]=0; 用数组b来存放大整数b,b[0]=3,b[1]=6,b[2]=9,b[3]=8,b[4]=5,b[5]=2,b[6]=1 b[7]=4,b[8]=7。 用数组c来存放数组a和b每一位的乘积, c[0]=a[0]*b[0]; c[1]=a[1]*b[0]+a[0]*b[1]; c[2]=a[2]*b[0]+a[1]*b[1]+a[0]*b[2]; …… …… c[17]=a[9]*b[8]; 六、调试过程及实验结果 void make(int a[],int aa,int b[],int bb,int c[]){ int i,j; for(i=0;i

模拟和数字电路实验(I)教学大纲

《模拟和数字电路实验(I)》教学大纲 《模拟和数字电路实验I》中实验教学内容分低频电路和高频电路,根据教学要求,制定本大纲。本大纲适用电子科学与信息专业本科生,其它专业的相关课程可以参考本大纲。 《模拟和数字电路实验I》课程计划1.5个学分,48课时,低频电路实验部分计划36学时,高频电路实验部分计划12学时。实验内容在保留了传统的验证性实验的基础上,增设了计算机仿真实验,如EWB,PSPICE等操作软件的应用。 实验课程名称:模拟和数字电路实验I实验课程性质:专业基础 实验室名称:模拟电路实验室本大纲主撰人:钱晓英 实验课程编号: 适用专业:电子科学与信息专业 开设实验项目数:17个 一、实验教学目标与要求: 1.巩固和加深电子线路的基础理论和基本概念,学会灵活应用电子线路的技能。 2.熟悉常用电子元件和器件的性能,掌握基本测量方法和使用方法。 3.通过实验能正确且较熟练地掌握常用仪器如示波器、毫伏表、高、低频信号发生器、失真度仪、数字式频率计、晶体管特性图示仪……等基本工作原理和性能,掌握调节和使用方法。 4.掌握电子线路基本参数的测量原理和方法。 5.掌握电子线路安装、调整技术,培养分析、判断电路故障的能力和解决问题的方法。6.了解EDA知识,掌握用EWB、PSPISE等软件分析电路的方法。 二、考核办法: 1、实验成绩由两部分组成:平时分和考试分。 2、平时分占总分的70℅。平时分的考核标准为实验内容的完成情况,实验报告情况。 3、考试分占总分的30℅。考试形式可以是操作考试,也可以是笔试。 三、课程内容和课时分配

注:实验项目19个,54课时,打“*”为选做项目,可以根椐要求选择,完成48课时的教学任务。 二、实验教科书、参考书 (一)教科书 1、《TPE—A型系列模拟电路实验箱》使用说明书 2、《模拟电路实验指导书》清华大学科教仪器厂 (二)参考书 1、《模拟电子线路》华中师范大学物理系万嘉若林康运等编 2、《综合电子技术问答》汪源睿编著科学出版社 3、《电子技术基础》(模拟部分)华中工学院电子教研室康华光高等教育出版社 4、《模拟电子技术基础简明教程》清华大学电子学教研室编 5、《电子线路(非线性部分)》谢嘉奎宣月清编 2003年7月订

相关文档
相关文档 最新文档