首页 > 编程知识 正文

二进制加减运算,二进制算法例子

时间:2023-05-05 12:08:58 阅读:154615 作者:1786

算法2.2二进制加法

说白了,这个二进制数的加法问题是二进制数的加法吧。

上C语言课的话大家应该都做了这个问题。

我不是很擅长算法。 这是我在小学期做的第一个问题。

这只是我自己有空上传了代码,但如果真的有后辈看到这个代码,我会上传emmmmmm,小学期所有的代码。 我不认为可以作为参考,但最好先自己想一想。

# include stdio.h # include string.h//这是第二题二阶段加法int main (() ) { int N; //这个问题的总体思路请参考刚才做的十进制加减运算Scanf('%d ',n )。 for(intn=1; n=N; n ) { char str[100001]; int a[100001]={0},b[100001]={0},c[100001]={0},lenc,lena,lenb,I,j; //首先将两个加法运算转换为int型,按相反顺序输入两个存储器数组Scanf('%s ',str )。 Lena=Strlen(str; for(I=0; ilena; I ) a(I )=str(Lena-1-I )-'0); c[i]=str[lena-1-i]-'0'; }scanf('%s”,str ); lenb=Strlen(str; for(I=0; ilenb; I ) B(I )=str(lenB-1-I )-'0); lenc=(Lenalenb )? lena:lenb; for(I=0; ilenc; I ) ) /要在此进行高精度额的二进制加减运算,只需将十进制加减运算中的10全部置换为2即可(c[I1]=j=(c[I]b[I] ) )/2; c[I]=(c[I]b[I] ) %2; (if ) j ) lenc; //判断是否需要进位//输出开始for(intx=1; x=lenc 2-lena; x({printf (' ); (for ); lena0; LENA--}{printf('%d ',a[lena-1] ); }printf((n ); printf (' ); for(intx=1; xlenc 2-lenb; x({printf (' ); (for ); lenb0; LenB--(printf('%d ',b[lenb-1] ); }printf((n ); for(intx=1; x=lenc 2; x({printf('-' ); }printf((n ); printf (' ); for(I=0; ilenc; I ) printf('%d )、c[lenc-1-i]; 打印((n ); } return 0; }

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。