//算法导论2.1.4
#include<iostream>
using namespace std;
void binary_add(int a[],int b[],int c[],int length){
int flag=0; //代表有无进位
int temp;
for(int i=length-1;i>=0;i--){
temp=a[i]+b[i]+flag;
if(temp>1) flag=1;
else flag=0;
if(flag==1){
c[i+1]=temp%2; //计算每一位值***
}
}
if(flag==1) c[0]=1;
}
int main(){
int a[4]={1,0,0,1};
int b[4]={1,1,1,1};
int length=sizeof(a)/sizeof(a[0]); //利用sizeof
int c[length+1];
for(int i=0;i<=length;i++)
c[i]=0; //安全起见给c每位赋值0
binary_add(a,b,c,length);
for(int i=0;i<length+1;i++){
cout<<c[i];
}
}
算法导论2.1.4 C++实现
最新推荐文章于 2024-11-10 21:17:38 发布