首页 > 编程知识 正文

二进制逻辑加法运算法则,二进制加减运算

时间:2023-05-03 07:22:24 阅读:154607 作者:3604

二进制加法1 .主题描述中给出了两个01字符串a和b。 请计算它们的和,并作为二进制字符串输出。 示例1:输入3360a='11 '、b='10 '输出:'101 '示例2:输入:a='1010 '、b='1011 '输出3360'10101 '提示:每个字符串为字符' 0 2 .标题来源剑指报价(特别突击版) [剑指报价|||002]二进制加法

致力于主页

3 .解决问题解答这道题的问题是两个数的加法运算是从低位到高位的,我们要将字符串从后往前遍历,最后求得的结果再翻转

另外我们还要考虑两个字符串长度不一样的情况,遍历时我们需要判断字符串是否遍历完成,这样才能获取正确结果

在下面的代码中,ans位于结果字符串ca位于位的值,http://www.Sina

varaddbinary=function(a,b ) letans=''letca=0for ) letI=a.length-1,j=b.length-1; i=0||j=0; I----,j---- ) { let sum=ca sum =i=0? 完成parseint(a(I ) ) : 0//遍历后,是否不再向sum中添加a ) I ) sum=j=0? parseint(b[j] ) : 0//遍历完成后,sum将不再添加b[I]ans=sum%2) /,并将当前位的值添加到ans中。 sum=2时,当前位为0ca=math.floor ) sum /。1 : ' "//最后判断进位的值。 对于ca0,结果应该加上进位1。 否则,return ans.split (' ).reverse ).join (' ) /最后反转字符串以获得结果);

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