精华内容
下载资源
问答
  • 二进制相加

    2020-04-22 17:43:21
    两个二进制相加 public static String add(String a,String b){ StringBuilder sb=new StringBuilder(); int x=0; int y=0; int pre=0;//进位 int sum=0;//存储进位和另两个位的和 while(a.length()!=b...

    两个二进制相加

    public static String add(String a,String b){
    		StringBuilder sb=new StringBuilder();
    		int x=0;
    		int y=0;
    		int pre=0;//进位
    		int sum=0;//存储进位和另两个位的和
    
    		while(a.length()!=b.length()){//将两个二进制的数位数补齐,在短的前面添0
    			if(a.length()>b.length()){
    				b="0"+b;
    			}else{
    				a="0"+a;
    			}
    		}
    		for(int i=a.length()-1;i>=0;i--){
    			x=a.charAt(i)-'0';
    			y=b.charAt(i)-'0';
    			sum=x+y+pre;//从低位做加法
    			if(sum>=2){
    				pre=1;//进位
    				sb.append(sum-2);
    			}else{
    				 pre=0;
    				sb.append(sum);
    			}
    		}
    		if(pre==1){
    			sb.append("1");
    		}
    		return sb.reverse().toString();//翻转返回
    	}
    

    从网上找来的,亲测可用

    展开全文
  • C语言:二进制相加输出二进制

    千次阅读 2019-11-19 21:42:50
    二进制相加输出二进制 给定两个二进制字符串,返回他们的和(用二进制表示)。 输入为非空字符串且只包含数字 1 和 0。 示例 1: 输入: a = “11”, b = “1” 输出: “100” 示例 2: 输入: a = “1010”, b =...

    二进制相加输出二进制

    给定两个二进制字符串,返回他们的和(用二进制表示)。

    输入为非空字符串且只包含数字 1 和 0。

    示例 1:

    输入: a = “11”, b = “1”
    输出: “100”

    示例 2:

    输入: a = “1010”, b = “1011”
    输出: “10101”

    #include<stdio.h>
    #include<string.h>
    main()
    {
    	char a[101],b[101];
    	int m,n,i,j,k;
    	scanf("%s",a);
    	scanf("%s",b);
    	m=strlen(a);
    	k=n=strlen(b);
    	if(m>k) k=m;
    	a[k+1]=0;
    	for(i=0;i<k;i++)
    	    a[k-i]=a[m-i-1];
    	for(i=0;i<=k-m;i++)
    	    a[i]='0';
    	for(i=0;i<=k;i++)
    	    b[k-i]=b[n-i-1];
    	for(i=0;i<=k-n;i++)
    	    b[i]='0';
    	j=0;
    	for(i=0;i<k;i++)
    	{
    		j=(a[k-i]+b[k-i]+j-96);
    		a[k-i]=j%2+48;
    		j=j/2;
    	}
    	a[0]=j+48;
    	if(a[0]=='0')
    	    printf("%s\n",a+1);
    	else
    	    printf("%s\n",a);
    }
    展开全文
  • 整数的二进制相加

    2021-03-12 19:37:33
    整数的二进制相加 题目描述: 输入两个整数,大小在[0,63]之间。求它们的二进制和,二进制用8位表示。 输入: 在一行输入一个整数,在另一行输入另一个整数。 输出: 输出它们的二进制和。 样例输入: 5 7 样例输出...

    整数的二进制相加

    题目描述:
    输入两个整数,大小在[0,63]之间。求它们的二进制和,二进制用8位表示。

    输入:
    在一行输入一个整数,在另一行输入另一个整数。

    输出:
    输出它们的二进制和。

    样例输入:
    5
    7

    样例输出:
    00000101
    00000111

    00001100

    代码:

    #include<stdio.h>
    #include<string.h>
    #include<stdlib.h>
    
    void atoD(int a[],int k, int n)
    {
    	int m, i = 0;
    	while(n != 0){
    		m = n/2;
    		a[i++] = n-m*2;
    		n = n/2;
    	}
    	for(i = 7; i >= 0; i--)
    		printf("%d",a[i]);
    	printf("\n");
    }
    
    int main()
    {
    	int n, m, i, flag;
    	int a[8], b[8], c[8];
    	scanf("%d %d", &n, &m);
    	for(i = 0; i < 8; i ++){
    		a[i] = 0;
    		b[i] = 0;
    		c[i] = 0;
    	}
    	atoD(a,8,n);
    	atoD(b,8,m);
    	printf("\n");
    	flag = 0;
    	for(i = 0; i < 8; i ++){
    		if(flag == 0){
    			if(a[i] + b[i] == 2){
    				flag = 1;
    				c[i] = 0;
    			}
    			else if(a[i] + b[i] == 1){
    				flag = 1;
    				c[i] = 1;
    			}
    			else{
    				flag = 0;
    				c[i] = 0;
    			}
    		}
    		else{
    			if(a[i] + b[i] == 2){
    				flag = 1;
    				c[i] = 1;
    			}
    			else if(a[i] + b[i] == 1){
    				flag = 1;
    				c[i] = 0;
    			}
    			else{
    				flag = 0;
    				c[i] = 1;
    			}
    		}
    	}
    	for(i = 7; i >= 0; i--)
    		printf("%d",c[i]);
    	printf("\n");
    	return 0;
    }
    

    反思总结:
    1.利用短除法将十进制数转化为二进制数,倒序存储在数组中;
    2.利用数组存储二进制数便于加法的书写。

    展开全文
  • python二进制相加

    千次阅读 2019-11-30 09:38:36
     两个二进制数11110011101和1111101001的和是多少?请用二进制表示,注意在提交的时候不要提交前导0。 答案提交  这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个二进制数,在提交答案时只...

    问题描述
      两个二进制数11110011101和1111101001的和是多少?请用二进制表示,注意在提交的时候不要提交前导0。
    答案提交
      这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个二进制数,在提交答案时只填写这个二进制数,填写多余的内容将无法得分。

    x=0b11110011101
    y=0b1111101001
    print(x)
    print(y)
    print(x+y)
    a=x+y
    print(bin(a))
    
    
    def addBinary(self, a, b):
            """
            :type a: str
            :type b: str
            :rtype: str
            """
            a = int(a,2)
            b = int(b,2)
            return bin(a+b)[2:]
    

    像函数一样,Python中的类方法也是一种对象。由于既可以通过实例也可以通过类来访问方法,所以在Python里有两种风格:

    未绑定的类方法:没有self
    通过类来引用方法返回一个未绑定方法对象。要调用它,你必须显示地提供一个实例作为第一个参数。

    绑定的实例方法:有self
    通过实例访问方法返回一个绑定的方法对象。Python自动地给方法绑定一个实例,所以我们调用它时不用再传一个实例参数。

    两种方法都是对象,它们可以被传递、存入列表等待。两者运行时都需要一个实例作为第一参数(妤一个self值),但当通过一个实例调用一个绑定方法时Python自动会提供一个。例如我们运行如下的代码:

    class Test:
    def func(self,message):
    print message

    object1=Test()
    x=object1.func
    x(‘绑定方法对象,实例是隐含的’)

    t=Test.func
    t(object1,‘未绑定的方法对象,需要传递一个实例’)

    #t(‘未绑定的方法对象,需要传递一个实例’) #错误的调用

    object1=Test()生成一个实例,object1.func返回一个绑定的方法,把实例object1和方法func绑定。
    而Test.func是用类去引用方法,我们得到一个未绑定的方法对象。要调用它就得传一个实例参数,如t(object1,‘未绑定的方法对象,需要传递一个实例’) 。
    大多数时候,我们都直接调用方法,所以一般不会注意到方法对象。但是如果开始写通用的调用对象的代码时,需要特别仔细地注意未绑定方法,它们需要地传一个实例参数。

    展开全文
  • 有道是学好数理化,走遍天下都不怕。谁让咱上学时没有好好学,...那我是怎么理解二进制相加的呢? 首先二进制是根据“逢二进一 ”法则进行计数,只用‘0’,‘1’来表示。 记住0+0=0;0+1或者1+0都=1;关键来了:1...
  • [LeetCode]67 二进制相加

    2016-03-01 16:11:40
    Add Binary(二进制相加)【难度:Easy】 Given two binary strings, return their sum (also a binary string).For example, a = “11” b = “1” Return “100”.给定两个二进制数的字符串,以字符串形式返回...
  • 二进制相加进位

    千次阅读 2018-04-06 12:13:37
    题目: 有两个字符串里面仅包含二进制,然后让两个字符串内的二进制数字从右往左相加进位得到结果.例如:a=”11”,b=”1” 结果是c=”100”,a中最右侧的1与b中的1相加得2,2的二进制是10,在此位保留一个0,1作为进位, 在...
  • 67. Add Binary二进制相加 Description Given two binary strings, return their sum (also a binary string). For example, a = "11" b = "1" Return "100". 本体有点像leetcode 66 plus one,但本题中你...
  • 方法为用二进制相加。 只需要 a ^ b 接着 (a & b) << 1 循环往复 (^ 异或不同为真)(& 与 相同为真) a ^ b 异或用来计算非进位部分 a & b 用来计算进位部分,由于目标已经进位,就需要在原基础...
  • Given two binary strings, return their sum (also a binary string). ... 题目给了我们两个string a 和 b,让我们把这两个二进制 相加。  首先把两个string 的长度得到,然后从右向左 取 两个stri...
  • Given two binary strings, return their sum (also a binary string)....简单的二进制相加而已,只不过传入的参数是字符串而已。为了方便,先将string reverse了一下,代码如下: 1 class Solution { 2 publi...
  • 给定两个二进制字符串,返回他们的和(用二进制表示)。 输入为非空字符串且只包含数字 1 和 0。 示例1: 输入:11 输入:1 输出:100 示例2: 输入:1010 输入:1011 输出:10101 代码实现: #include <bits/...
  • 剑指-二进制相加进位

    千次阅读 2016-09-08 18:05:04
    有两个字符串里面仅包含二进制,然后让两个字符串内的二进制数字从右往左相加进位得到结果.
  • 功能很简单,实现两个16位二进制相加即可。 step 1.写汇编代码 下面是实现功能的相应代码: DSEG SEGMENT DATA_1 DW ? DATA_2 DW ? DSEG ENDS SSEG SEGMENT STACK TOP_PTR DB 20 DUP(0) SSEG ENDS CSEG SEGMENT ...
  • Given two binary strings, return their sum (also a binary string). The input strings are both non-empty and contains only ...题目描述:对二进制数进行相加 Example 1: Input: a = "11", b = "1" Out...
  • 两个二进制相加

    2015-08-05 17:58:00
    伪代码: for i=n-1 downto 0  if A[i]+B[i]==0 //情况1  if flag==0  C[i+1]=0  else  C[i+1]=1  flag=0  elseif A[i]+B[i]==1 //情况2  if flag==0 ... C[i...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,739
精华内容 1,495
关键字:

二进制相加