下载此文档

试验四 128乘法模拟器.doc


文档分类:行业资料 | 页数:约3页 举报非法文档有奖
1/3
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/3 下载此文档
文档列表 文档介绍
试验四128乘法模拟器一实验目的仿真不带符号的阵列乘法器二实验内容1,实验原理M位乘N位不带符号整数的阵列乘法中加法---*n个被加数可以用m*n个”与门”(m=n=5)为例(如下图):FA为一位全加器,FA的斜线方向为进位输出,竖线方向为和输出,而所有被加数项的排列和正常的A*B=,其时间延迟为(n-1),为了缩短加法时间,×n位时,需要n(n-1)个全加器和n²个”与”#include""#include""#definen10/*128位时10改成40即可*/#defineN2*nintInput(charh[n]){inti,j,;charc,p[n];for(i=0;i<n;i++){p[i]=0;}/*p[i]为辅助数组*/for(i=0;(c=getchar())!='\n';i++)/*输入转换,码形式*/{c=c-48;p[i]=c;}for(i--,j=n-1;i>=0;j--,i--){h[j]=p[i];}/*顺序移入另一数组*/for(i=0;i<n;i++)printf("%d",h[i]);printf("\n");/*验证输入的数*/}intMinus(chara[n],charb[n]){unsignedcharf[n][N],add[N],carry[N],remainder[N],result[N];/*两数每位相加范围可能超过char型128,故用unsignedchar(0~256)可保证不越位*/inti,j,l,m;for(i=0;i<n;i++)/*存放数组清零*/for(j=0;j<N;j++){f[i][j]=0;}for(j=n-1,l=0;j>=0;l++,j--)/*每位相加存入数组*/{m=N-1-l;for(i=n-1;i>=0;m--,i--){f[l][m]=a[i]*b[j];}}for(i=0;i<n;i++)/*检验并显示全部结果*/{for(j=0;j<N;j++){printf("%3d",f[i][j]);}printf("\n");}for(i=0;i<N;i++)/*数组清零*/{add[i]=0;carry[i]=0;remainder[i]=0;result[i]=0;}for(j=N-1;j>=0;j--){add[j]=f[0][j]+f[1][j];/*第一行和第二行的和*/carry[j-1]=add[j]/10;/*进位存入数组*/remainder[j]=add[j]%10;/*余数位存入数组*/}printf("\n");printf("\n");/*检验第一步*/for(i=0;i<N;i++)printf("%3d",carry[i]);printf("\n");/*第一行进位输出*/for(i=0;i<N;i++)printf("%3d",remainder[i])

试验四 128乘法模拟器 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数3
  • 收藏数0 收藏
  • 顶次数0
  • 上传人文库旗舰店
  • 文件大小60 KB
  • 时间2019-07-19