加载中…
  
博文
(2006-11-19 23:35)

当时是大学二年级的时候学习微机原理,老师留的作业,然后五一长假去成都旅游时候用同学的电脑的记事本写的这个程序,程序不是很规范,因为当时还不了解匈牙利命名规则,就用初学者常见的拼音命名。

这是很长时间以前写的,所以回忆起来也有些困难(毕竟很久没有接触coding了)大概思路主要是根据微机原理中的乘法器实现的公式,如果有书的同学可以看一下。然后利用加法器实现并行运算的乘法器,我记得书上还有门电路的图,比较直观(微机原理的书然我同学借走没还我,shit),下面简单的解释一下代码,希望同学尽量理解吧,即使这个程序不能帮助你完全理解,至少我相信也能够给你提供一些思路,毕竟我现在很久很久没有做这些东西,希望体谅哈!

--------------------------------------------------------------------------------

#include<stdio.h>
int yihuo(int m,int n)//这里是定义一个异或函数

         

(2006-11-19 23:29)
#include<stdio.h>
int yihuo(int m,int n)
{
 if(m==n)
  return 0;
 else
  return 1;
}
void main()
{
  int a[5],b[5],c[5],d[5],G[5],P[5],V,Z,N,C,k,i;
  int D=0;
  printf('please enter a:\n');
  for(i=0;i<5;i++)
   scanf('%d',&a[4-i]);
  printf('please enter b:\n');
  for(i=0;i<5;i++)
   scanf('%d',&b[4-i]);
  for(i=0;i<5;i++)
   {
    G[i]=a[i]&&b[i];
    P[i]=a[i]||b[i];
   }
  c[0]=yihuo(yihuo(a[0],b[0]),D);
  d[0]=G[0]||P[0]&&D;
  c[1]=yihuo(yihuo(a[1],b[1]),(G[0]||P[0]&&D));
  d[1]=G[1]||P[1]&&(G[0]||P[0]&&D);
  c[2]=yihuo(yihuo(a[2],b[2]),(G[1]||P[1]&&(G[0]||P[0]&&D)));
  d[2]=G[2]||P[2]&
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有