1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 计算机组成原理 原码一位乘法(C语言实现)

计算机组成原理 原码一位乘法(C语言实现)

时间:2020-07-25 20:37:39

相关推荐

计算机组成原理 原码一位乘法(C语言实现)

#include<stdio.h>int Binary_add(int* Binary1,int* Binary2)//自定义的用于辅助的紧耦合函数,用于实现本题中二进制的加法运算 {int i;for(i=31;i>0;i--){Binary2[i]+=Binary1[i];if(Binary2[i]>1){Binary2[i]-=2;Binary2[i-1]++;}}if(Binary2[0]>1){Binary2[0]-=2;return 1;}else return 0;} int main(void) {int Product1_register[32];int Product2_register[32];int i,j;int PY_register[64];int C_register;printf("请输入需要进行相乘的两个二进制原码(32位):\n");for(i=0;i<32;i++){scanf("%d",&Product1_register[i]);}for(i=0;i<32;i++){scanf("%d",&Product2_register[i]);}for(i=0;i<32;i++){PY_register[i]=0;}for(i=32;i<64;i++){PY_register[i]=Product2_register[i-32];}printf("被乘数寄存器中的值保持不变如下:\n");for(i=0;i<32;i++){printf("%d",Product1_register[i]);} printf("\n");printf("递推次数\t乘积寄存器\t 乘数寄存器\n");printf("第0次递推\t");for(j=0;j<64;j++){if(j==32)printf("\t");printf("%d",PY_register[j]);}printf("\n");for(i=0;i<32;i++){if(PY_register[63]==1){C_register=Binary_add(Product1_register,PY_register);}for(j=63;j>0;j--){PY_register[j]=PY_register[j-1];}PY_register[0]=C_register;printf("第%d次递推\t",i+1); for(j=0;j<64;j++){if(j==32)printf("\t");printf("%d",PY_register[j]);}printf("\n");}return 0;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。