精华内容
下载资源
问答
  • 二进制的运算方法

    万次阅读 2017-08-29 14:12:13
    (1)二进制的加法 根据“逢二进一”规则,二进制数加法的法则为: 0+0=0 0+1=1+0=1 1+1=0 (进位为1) 1+1+1=1 (进位为1) 例如:1110和1011相加过程如下: (2)二进制数的减法 根据“借一有...

    1.二进制数的算术运算
    二进制数的算术运算包括:加、减、乘、除四则运算,下面分别予以介绍。

    (1)二进制数的加法

      根据“逢二进一”规则,二进制数加法的法则为:
      0+0=0
      0+1=1+0=1
      1+1=0 (进位为1) 
      1+1+1=1 (进位为1)
    
      例如:1110和1011相加过程如下:
    

    在这里插入图片描述

      (2)二进制数的减法
    
      根据“借一有二”的规则,二进制数减法的法则为:
    
      0-0=0
      1-1=0
      1-0=1
      0-1=1 (借位为1)
    
      例如:1101减去1011的过程如下:
    

    在这里插入图片描述

      (3)二进制数的乘法
    
      二进制数乘法过程可仿照十进制数乘法进行。但由于二进制数只有0或1两种可能的乘数位,导致二进制乘法更为简单。二进制数乘法的法则为:
    
      0×0=0
      0×1=1×0=0
      1×1=1
    
      例如:1001和1010相乘的过程如下:
    

    这里写图片描述

      由低位到高位,用乘数的每一位去乘被乘数,若乘数的某一位为1,则该次部分积为被乘数;若乘数的某一位为0,则该次部分积为0。某次部分积的最低位必须和本位乘数对齐,所有部分积相加的结果则为相乘得到的乘积。
    
      (4)二进制数的除法
    
      二进制数除法与十进制数除法很类似。可先从被除数的最高位开始,将被除数(或中间余数)与除数相比较,若被除数(或中间余数)大于除数,则用被除数(或中间余数)减去除数,商为1,并得相减之后的中间余数,否则商为0。再将被除数的下一位移下补充到中间余数的末位,重复以上过程,就可得到所要求的各位商数和最终的余数。
    
      例如:100110÷110的过程如下:
    

    这里写图片描述

      所以,100110÷110=110余10。
    

    2.二进制数的逻辑运算
    二进制数的逻辑运算包括逻辑加法(“或”运算)、逻辑乘法(“与”运算)、逻辑否定(“非”运算)和逻辑“异或”运算。

      (1)逻辑“或”运算
    
      又称为逻辑加,可用符号“+”或“∨”来表示。逻辑“或”运算的规则如下:
    
      0+0=0或0∨0=0
      0+1=1或0∨1=1
      1+0=1或1∨0=1
      1+1=1或1∨1=1
    
      
      可见,两个相“或”的逻辑变量中,只要有一个为1,“或”运算的结果就为1。仅当两个变量都为0时,或运算的结果才为0。计算时,要特别注意和算术运算的加法加以区别。
    
      (2)逻辑“与”运算
    
      又称为逻辑乘,常用符号“×”或“· ”或“∧”表示。“与”运算遵循如下运算规则:
    
      0×1=0或0·1=0或0∧1=0
      1×0=0或1·0=0或1∧0=0
      1×1=1或1·1=1或1∧1=1
    
      可见,两个相“与”的逻辑变量中,只要有一个为0,“与”运算的结果就为0。仅当两个变量都为1时,“与”运算的结果才为1。
    
      (3)逻辑“非”运算
    
      又称为逻辑否定,实际上就是将原逻辑变量的状态求反,其运算规则如下:
    
    
      可见,在变量的上方加一横线表示“非”。逻辑变量为0时,“非”运算的结果为1。逻辑变量为1时,“非”运算的结果为0。
    
      (4)逻辑“异或”运算 
      “异或”运算,常用符号“”或“”来表示,其运算规则为:
    
      00=0 或 00=0
      01=1 或 01=1
      10=1 或 10=1
      11=0 或 11=0
    
      可见:两个相“异或”的逻辑运算变量取值相同时,“异或”的结果为0。取值相异时,“异或”的结果为1
    
    展开全文
  • 2.用"异或"来做不进制的加法 由XOR(异或,下文皆称为XOR)的运算性质,二者不同为1,二者相同时为0,除了1与1相加外,本身就相当与加法的法则,而这里的进位工作由AND替代了,所以1+1确实也是0,所以就可以用

    一.实现逻辑加法的算法

    逻辑运算有与、或、非、异或四种。而要实现二进制加法最关键的步骤就是如何实现进位和相加(不进位加法).

    1.用"与"来提取进位

    由AND(与,下文皆称为AND)的运算性质可以得到只有当两个数都为1时才能运算得1,而这样恰好提取了进位,只要向左移位即可成功实现进位.

    2.用"异或"来做不进制的加法

    由XOR(异或,下文皆称为XOR)的运算性质,二者不同时为1,二者相同时为0,除了1与1相加外,本身就相当与加法的法则,而这里的进位工作由AND替代了,所以1+1确实也是0,所以就可以用作加法.

    3.设计算法来进行运算

    我们将相加的数与移位后的进位相加后就可得到结果了.但是由于这里不能使用相加,只能反复尝试上述运算直到不进位,最后异或即可得到结果.而于判断结束标志就是不进位也就是AND的结果为0.

    4.设计算法

    ①.AND 提取进位 并左移一位
    ②.XOR 不进位相加
    ③.反复重复上述步骤.
    ④.当AND结果为0时停止.

    5.C语言代码实现(初学者,勿喷= =)

    include <stdio.h>
    
    int main() {
    	int A, B, a, b;
    	printf("请输入两个求和的数\n");
    	scanf("%d%d", &a, &b);
    	do{
    		A = a & b;  
    		B = a ^ b;
    		A = A << 1;
    		a = A;
    		b = B;
    	} while (A != 0);
    	printf("二者之和是%d", B);
    	return 0;
    }
    

    这里只是为了表述清楚,中间的循环代码其实可以优化一下

    do {
            A = a & b;
            b ^= a;
    } while (a = (A <<= 1));
    
    

    5.结语

    实现加法的关键就是回归加法的本质,再去用逻辑运算实现,最后设计一个好的算法来实现只用逻辑运算和移位实现二进制的加法.

    展开全文
  • 二进制数的运算方法 ... 电子计算机具有强大的运算能力,它可以进行两种运算:算术运算和...(1)二进制的加法  根据“逢二进一”规则,二进制数加法的法则为: 0+0=0 0+1=1+0=1 1+1=0 

    二进制数的运算方法


     

        电子计算机具有强大的运算能力,它可以进行两种运算:算术运算和逻辑运算。

    1.二进制数的算术运算

      二进制数的算术运算包括:加、减、乘、除四则运算,下面分别予以介绍。


    (1)二进制数的加法


      根据“逢二进一”规则,二进制数加法的法则为:


    0+0=0
    0+1=1+0=1
    1+1=0 (进位为1) 
    1+1+1=1 (进位为1)


    例如:1110和1011相加过程如下:



    (2)二进制数的减法


      根据“借一有二”的规则,二进制数减法的法则为:


    0-0=0
    1-1=0
    1-0=1
    0-1=1 (借位为1)


    例如:1101减去1011的过程如下:



    (3)二进制数的乘法


      二进制数乘法过程可仿照十进制数乘法进行。但由于二进制数只有0或1两种可能的乘数位,导致二进制乘法更为简单。二进制数乘法的法则为:


    0×0=0
    0×1=1×0=0
    1×1=1


      例如:1001和1010相乘的过程如下:



      由低位到高位,用乘数的每一位去乘被乘数,若乘数的某一位为1,则该次部分积为被乘数;若乘数的某一位为0,则该次部分积为0。某次部分积的最低位必须和本位乘数对齐,所有部分积相加的结果则为相乘得到的乘积。


    (4)二进制数的除法


      二进制数除法与十进制数除法很类似。可先从被除数的最高位开始,将被除数(或中间余数)与除数相比较,若被除数(或中间余数)大于除数,则用被除数(或中间余数)减去除数,商为1,并得相减之后的中间余数,否则商为0。再将被除数的下一位移下补充到中间余数的末位,重复以上过程,就可得到所要求的各位商数和最终的余数。


    例如:100110÷110的过程如下:



    所以,100110÷110=110余10。

     

    2.二进制数的逻辑运算

      二进制数的逻辑运算包括逻辑加法(“或”运算)、逻辑乘法(“与”运算)、逻辑否定(“非”运算)和逻辑“异或”运算。


    (1)逻辑“或”运算


      又称为逻辑加,可用符号“+”或“∨”来表示。逻辑“或”运算的规则如下:


    0+0=0或0∨0=0
    0+1=1或0∨1=1
    1+0=1或1∨0=1
    1+1=1或1∨1=1

     
      可见,两个相“或”的逻辑变量中,只要有一个为1,“或”运算的结果就为1。仅当两个变量都为0时,或运算的结果才为0。计算时,要特别注意和算术运算的加法加以区别。


    (2)逻辑“与”运算


      又称为逻辑乘,常用符号“×”或“· ”或“∧”表示。“与”运算遵循如下运算规则:


    0×1=0或0·1=0或0∧1=0
    1×0=0或1·0=0或1∧0=0
    1×1=1或1·1=1或1∧1=1


      可见,两个相“与”的逻辑变量中,只要有一个为0,“与”运算的结果就为0。仅当两个变量都为1时,“与”运算的结果才为1。


    (3)逻辑“非”运算


      又称为逻辑否定,实际上就是将原逻辑变量的状态求反,其运算规则如下:



      可见,在变量的上方加一横线表示“非”。逻辑变量为0时,“非”运算的结果为1。逻辑变量为1时,“非”运算的结果为0。

     

    (4)逻辑“异或”运算 
    “异或”运算,常用符号“”或“”来表示,其运算规则为:


    00=0 或 00=0
    01=1 或 01=1
    10=1 或 10=1
    11=0 或 11=0

    可见:两个相“异或”的逻辑运算变量取值相同时,“异或”的结果为0。取值相异时,“异或”的结果为1

     


      以上仅就逻辑变量只有一位的情况得到了逻辑“与”、“或”、“非”、“异或”运算的运算规则。当逻辑变量为多位时,可在两个逻辑变量对应位之间按上述规则进行运算。特别注意,所有的逻辑运算都是按位进行的,位与位之间没有任何联系,即不存在算术运算过程中的进位或借位关系。下面举例说明。


    【例1.1】 如两变量的取值 X=00FFH,Y=5555H


    Z1=XYZ2=XYZ3=Z4=XY的值。


    解:X=0000000011111111


    Y=0101010101010101


    则:Z1=0000000001010101=0055H


        Z2=0101010111111111=55FFH


        Z3=1111111100000000=FF00H


        Z4=0101010110101010=55AAH



                                                                    【转载自太原理工大学课件】

    展开全文
  • 二进制加法 题目: a = '...我们按照二进制运算法则 将a和b加起来 。。。也就是加起来等于2需要进位。。 分析: 这道题目非常简单,从a和b末尾一次相加,等于2进位,否则...

    二进制数加法

           题目: a = '110110010101010010100010111111001'       b = '1010011001011111101110100111' , a和b代表两个二进制数。我们按照二进制数运算法则 将a和b加起来  。。。也就是加起来等于2需要进位。。

    分析: 

           这道题目非常简单,从a和b的末尾一次相加,等于2进位,否则将加的结果放在对应的位置。不做过多解释。  看代码实现。

    代码实现:

    def binary_add(a, b):
        a = list(a)
        b = list(b)
        i = len(a) - 1
        j = len(b) - 1
        sum, temp = 0, 0
        result = []
        while i >= 0 or j >= 0:
            sum = temp
            if i >= 0:
                sum += int(a[i])
                i -= 1
            if j >= 0:
                sum += int(b[j])
                j -= 1
            result.insert(0, sum % 2)
            temp = sum // 2
        return result
    
    
    if __name__ == '__main__':
        a = '110110010101010010100010111111001'
        b = '1010011001011111101110100111'
        # a = '10101'
        # b = '111'
        result = binary_add(a, b)
        print(result)

    输出结果:

     

    展开全文
  • 二进制四则运算

    千次阅读 2018-10-30 17:11:50
    二进制的原理如下: (注意加法的进位和减法的借位) 一、加法法则: 0+0=0,0+1=1,1+0=1,1+1=0(注意向前进位) 例如:11111+1=100000  11111 + 1 --------- 100000 因为最低一位1+1=0所以需要向前(高位...
  • 二进制运算

    2010-02-21 16:59:03
    二进制运算分为两大块:算数运算和逻辑运算。 1、二进制的算术运算 ...1)二进制的加法运算  二进制数的加法运算法则只有四条:0+0=0 0+1=1 1+0=1 1+1=10(向高位进位)  例:计算1101+1011的和  由算式...
  • 二进制算术运算

    千次阅读 2019-10-27 11:24:54
    加法运算法则: 0+0=0 0+1=1+0=1 1+1=10(向高位进位) 例:(1101)2+(1011)2=?,解算如下: 从执行加法过程可知,两个二进制数相加时,每一位是3个数参加运算,除被加数位加上加数位外,还要加来自低位进位(进位是0...
  • 无符号二进制算术运算

    千次阅读 2019-02-24 19:50:16
    无符号二进制数的算术运算 本文内容参考自王达老师的《深入理解...如果你理解了十进制的四则算数运算法则,那么理解无符号二进制数的四则运算相对来讲就很简单了 –引用自王达老师《深入理解计算机网络》一书 1、加法
  • (2)实现上述功能VB程序如下。请在划线处填入合适代码。Private Sub Command1_Click()Dim a As Integer, bAs Integer, c As IntegerDim a1 As String, b1As StringDim lena1 AsInteger, lenb1 As Integer, i As ...
  • 二进制除法怎么算(共2篇)二进制的运算法则1 2 微型计算机运算基础1 2 1 二进制数的运算方法电子计算机具有强大的运算能力,它可以进行两种运算:算术运算和逻辑运算。1.二进制数的算术运算二进制数的算术运算包括:...
  • 二进制计算

    2017-09-01 10:22:20
    二进制的运算:遇1得1 二进制的运算:遇0得0 二进制的运算:各位取反。 加法法则: 0+0=0,0+1=1,1+0=1,1+1=10 减法,当需要向上一位借数时,必须把上一位的1看成下一位的(2)10。 减法法则: 0-0 =...
  • 二进制基础

    2019-10-08 08:22:17
    2.二进制运算法则简单。如加法:0+0=0,0+1=1+0=1,1+1=10 (3个公式)而十进制加法法则需记55个公式。 3.二进制是计算机中采用的基本数制;而八进制和十六进制用作二进制的压缩形式;十进制是理解其他数制的基础...
  • 二进制怎么相加减

    千次阅读 2019-02-21 14:11:42
    1.二进制加法运算法则: 0+0=0,0+1=1,1+0=1,1+1=10 ,也就是当两个相加的二进制位仅一位为1时,相加结果为1;如果两个二进制位全是0,相加结果仍为0;而如果两个相加的二进制位均为1,则结果为10(相当于十...
  • 二进制

    2017-09-23 15:08:15
    异或运算 XOR 异或(xor)是一个数学运算符。它应用于逻辑运算。异或数学符号为“⊕”,计算机...异或也叫半加运算,其运算法则相当于不带进位的二进制加法二进制下用1表示真,0表示假,则异或的运算法则为:0
  • 67. 二进制求和 给你两个二进制字符串,返回它们和(用二进制表示)。 输入为 非空 字符串且只包含数字 1 和 0。 示例 1: 输入: a = "11", b = "1" 输出: "100" ...二进制加法运算法则: 0+0=0,0+1
  • 断的状态,使用二进制作为电子计算机的运算语言比较容易实现,其次,二进制的运算法则简单, 加法逢2进1,减法只需逆运算,乘法只需移位,除法也是逆运算,于是基于此法则的各种复杂运算 也就简单的执行了。 1、...
  • Add Binary Given two binary strings, return their sum (also a binary string). For example, a = "11" b = "1" Return "100". 模拟加法 复杂度 时间 O(N) 空间 O(1) ...模拟加法的运算法则,从最低位加到最高...
  • 计算机在计算乘法、除法、以及求余运算时都是利用二进制的加法来实现的,也就是计算机中最繁忙的累加器(包括减法运算也是将被减数转换为补码的形式再利用加法的法则运算的)。我们先来说乘法: 乘法: 先来个例子...
  • 二进制的加法:二进制加法运算法则:加法算式和十进制加法一样,把右边第一位对齐,依次相应数位对齐,各数位满二向上一位进一 半加器 进行二进制加法的第一步就是要能够对两个二进制位进行相加 我们把结果的LSB位称为...
  • 【习题】另类加法

    2019-07-17 12:22:36
    二进制加法运算法则: 0 + 0 = 0, 0 + 1 = 1,1 + 0 = 1,1 + 1 = 10 两个相加的二进制位仅为一位1时,相加为1;两个二进制位全为0,相加为0;两个二进制位全为1,相加为10(相当于二进制2,也就是逢2进1)。 位...
  • 异或也叫半加运算,其运算法则相当于不带进位的二进制加法二进制下用1表示真,0表示假,则异或的运算法则为:0⊕0=0,1⊕0=1,0⊕1=1,1⊕1=0(同为0,异为1),这些法则与加法是相同,只是不带进位,所以异或常...
  • 计算机怎么实现加法?今天学习了一下,主要是根据电子电路特性制定一套规则来模仿...对于十进制运算我们知道,进行加法时,低位满10要向高位进位,二进制改成满2进位即可,都是一样,只是又基数10变成了基数2. ...
  • 异或性质和运算

    千次阅读 2018-03-09 16:05:31
    异或是一种基于二进制的位运算,用符号XOR或者 ^ 表示,其运算法则是对运算符两侧数的每一个二进制位,同值取0,异值取1。它与布尔运算的区别在于,当运算符两侧均为1时,布尔运算的结果为1,异或运算的结果为0。 ...
  • 模2运算的加减乘除运算

    千次阅读 2020-05-05 12:30:43
    在基础算法中,我们学基本都是模二运算法则,什么是模二运算,这里简单做一下介绍。 模2运算 是一种二进制算法,CRC校验技术中核心部分。与四则运算相同,模二运算也包括模二加法、模二减法、模二乘法、模二除...
  • 什么是异或_异或运算及异或运算作用 异或,是一个数学运算符,英文为exclusive OR,缩写为xor,应用于逻辑运算。异或数学符号为“⊕”... 异或也叫半加运算,其运算法则相当于不带进位的二进制加法二进制下...

空空如也

空空如也

1 2 3 4 5 ... 8
收藏数 158
精华内容 63
热门标签
关键字:

二进制的加法运算法则