精华内容
下载资源
问答
  • 二进制数的加法运算
    万次阅读
    2019-10-27 11:24:54

    2, 二进制数的算术运算

    2.1 二进制数的算术运算

    二进制数的算术运算包括加法、减法、乘法和除法。

    1)加法运算

    加法进位规则:逢二进一

    加法运算法则:

    0+0=0

    0+1=1+0=1

    1+1=10(向高位进位)

    例:(1101)2+(1011)2=?,解算如下:

    img7

    从执行加法的过程可知,两个二进制数相加时,每一位是3个数参加运算,除被加数位加上加数位外,还要加来自低位的进位(进位是0或1)。

    2)减法运算

    减法借位规则:借一当二

    减法运算法则:

    0-0=1-1=0

    1-0=1

    0-1=1(向高位借位)

    例:(11000011)2-(00101101)2=?,解算如下:

    img8

    从执行减法的过程可知,两个二进制数相减时,每一位也是3个数参加运算,除被减数位减去减数位外,还要减去来自低位的借位(进位是0或1)。

    3) 乘法运算

    乘法运算法则:

    0×0=0

    0×1=1×0=0

    1×1=1

    例:(1110)2×(1101)2=?,解算如下:

    在这里插入图片描述

    从执行乘法的过程可知,从乘数的低位开始每一位与被乘数相乘得到一个部分积,乘数的相应位是0时,部分积为0,乘数的相应位是1时,部分积为被乘数,每一次的部分积均依次左移一位,部分积的个数是乘数的位数,将各部分积累加起来就得到最终乘积

    4)除法运算

    除法运算法则:

    0÷0=0

    0÷1=0(1÷0无意义)

    1÷1=1

    例:(100110)2÷(110)2=?,解算如下:

    在计算机内部,二进制加法运算是基本运算,减法可以用补码加法来实现,乘法和除法也可以用加法和移位操作来实现。

    img10

    更多相关内容
  • 两个二进制数字Ai,Bi和一个进位输入Ci相加,产生一个和输出Si,以及一个进位输出Ci+1。表2-2中列出一位全加器进行加法运算的输入输出真值表。根据表2-2所示的真值表,三个输入端和两个输入端可按如下逻辑方程进行联系...
  • 二进制数运算

    千次阅读 2020-06-01 23:08:44
    有关二进制的算术运算、逻辑运算

    前言

    此篇文章仅介绍二进制数的运算,不涉及其他进制的运算

    一、加法运算规则

    0+0=0
    0+1=1
    1+0=1
    1+1=0 (产生进位,此处的1是二进制中的一部分,不是表示两个二进制数1相加,进位被忽略)

    【例】 1101+10110
    在这里插入图片描述

    二、减法运算规则

    0-0=0
    0-1=1(产生错位)
    1-0=1
    1-1=0

    【例】1101-0111
    在这里插入图片描述

    三、乘法运算规则

    0x0=0
    0x1=0
    1x0=0
    1x1=1

    【例】1101x1001
    在这里插入图片描述

    四、除法运算规则

    二进制的除法运算和十进制的类似,不存在进位、借位。

    【例】1110101÷1001
    在这里插入图片描述

    五、逻辑或运算规则

    两个数相或时,若有一个数为1则值为1
    只有当两个数全为0时,值为0

    0 V 0 =0
    0 V 1 =1
    1 V 0 =1
    1 V 1 =1
    【例】1100 V 1010
    在这里插入图片描述

    六、逻辑与运算规则

    两个数相与时,两个数全为1时,值为1
    若有一个数为0则值为0

    0 Λ 0 =0
    0 Λ 1 =0
    1 Λ 1 =1

    【例】1100 Λ 1010
    在这里插入图片描述

    七、逻辑非运算规则

    一个二进制数的非即由1变成0,或由0变成1
    逻辑非运算又称作逻辑取反操作,对一个二进制数取反时,是对二进制的每个位取反。

    ¬ 0 = 1
    ¬ 1 = 0

    【例】1011取反
    ¬ 1011 = 0100

    八、逻辑异或运算规则

    两个数进行异或时,当两个数不同时则值为1,其他的情况为0

    0 ⊕ 0 =0
    0 ⊕ 1 =1
    1 ⊕ 0 =1
    1 ⊕ 1 =0
    【例】1100 ⊕ 1010
    在这里插入图片描述

    展开全文
  • 二进制数运算可分为二进制整数运算二进制小数运算两种类型,但运算法则完全相同.由于大部分计算机中的表示方法均采用定点整数表示法,故这里仅介绍二进制整数运算二进制小数运算与它相同.在计算机中,经常...

    1、算数运算

    (1)加法运算 二进制加法法则为:

            0+0=0

            1+0=0+1=1

            1+1=0(向邻近高位有进位)

            1+1+1=1(向邻近高位有进位)

            

    (2)减法运算 二进制减法法则为:

            0-0=0

            1-1=0

            1-0=1

            0-1=1(向邻近高位借1当作2)

            

              两个二进制数相减时先要判断它们的大小,把大数作为被减数,小数作为减数,差的符号由两数关系决定.此外,在减法过程中还要注意低位向高位借l应当作2.

    (3)乘法运算 二进制乘法法则为:

            0×0=0

            1×0=0×1=0

            1×1=1

            两个二进制数相乘与两个十进制数相乘类似,可以用乘数的每一位分别去乘被乘数,所得结果的最低位与相应乘数位对齐,最后把所有结果加起来,便得到积,这些中间结果又称为部分积.

            

    (4)除法运算除法是乘法的逆运算.

            与十进制类似,二进制除法也是从被除数最高位开始,查找出够减除数的位数,并在其最低位处上商1和完成它对除数的减法运算,然后把被除数的下一位移到余数位置上.若余数不够减除数,则上商0,并把被除数的再下一位移到余数位置上;若余数够减除数,则上商1并进行余数减除数.这样重复进行,直到全部被除数的各位都下移到余数位置上为止.

            

    2、逻辑运算

    (1)逻辑乘运算

            逻辑乘又称逻辑与,常用∧算符表示.

            逻辑乘运算法则为:

            0∧0=0

            1∧0=0∧1=0

            1∧1=1

            两个二进制数进行逻辑乘,其运算方法类似于二进制算术运算。

            

    (2)逻辑加运算

            逻辑加又称逻辑或,常用算符∨表示.

            逻辑加的运算规则为:

            0∨0=0

            1∨0=0∨1=1

            1∨1=1 

            

     (3)逻辑非运算

            逻辑非运算又称逻辑取反,

            常采用“一”运算符表示.

            X=11000011B 逻辑非运算 00111100B

    (4)逻辑异或

            逻辑异或又称为半加,是不考虑进位的加法,常采用⊕算符表示.

            逻辑异或的运算规则为:

            0⊕0=1⊕1=0

            1⊕0=0⊕1=1

            

    展开全文
  • 二进制数及其运算

    千次阅读 2020-07-28 08:14:13
    如何使用二进制进行减乘除?二进制数如何表示负数呢?本文将为你揭晓。 为什么用二进制表示 计算机内部是由IC电子元件组成的,其中CPU和内存也是IC电子元件的一种,CPU和内存使用IC电子元件作为基本单元。IC电子...

    计算机的底层都是使用二进制数据进行数据流传输的,那么为什么会使用二进制表示计算机呢?什么是二进制数呢?如何使用二进制进行加减乘除?二进制数如何表示负数呢?本文将为你揭晓。

    为什么用二进制表示
    计算机内部是由IC电子元件组成的,其中CPU和内存也是IC电子元件的一种,CPU和内存使用IC电子元件作为基本单元。IC电子元件有不同种形状,但是其内部的组成单元称为一个个的引脚。有人说CPU和内存内部都是超大规模集成电路,其实IC就是集成电路。
    在这里插入图片描述
    IC元件两侧排列的四方形块就是引脚,IC的所有引脚,只有两种电压: 0V和5V,IC的这种特性也就决定了计算机的信息处理只能用0和1表示,也就是二进制来处理。一个引脚可以表示一个0或1,所以二进制的表示方式就变成0、1、10、11、100、101等,虽然二进制数并不是专门为引脚来设计的,但是和IC引脚的特性非常吻合。

    计算机的最小集成单位为位,也就是比特(bit) ,二进制数的位数一般为8位、16位、 32位、 64位,也就是8的倍数,为什么要跟8扯上关系呢?因为在计算机中,把8位二进制数称为一个字节,一个字节有8位,也就是由8个bit构成。字节是最基本的计量单位,位是最小单位。

    用字节处理数据时,如果数字小于存储数据的字节数(二进制的位数),那么高位就用0填补,高位和数学的数字表示是一样的, 左侧表示高位,右侧表示低位。比如这个六位数用二进制数来表示就是100111,只有6位,高位需要用0填充,填充完后是00100111,占一个字节,如果用16位表示就是0000 0000 0010 0111占用两个字节。

    我们一般口述的32位和64位的计算机就指的是处理位数,32 位一次可以表示4个字节, 64位一次可以表示8个字节的二进制数。

    什么是二进制数
    那么什么是二进制数呢?为了说明这个问题,我们先把0010 0111这个数转换为十进制数看一下:
    在这里插入图片描述
    也就是说,二进制数代表的00100111 转换成十进制就是39,这个39并不是3和9两个数字连着写,而是3* 10+9*1,这里面的10,1就是位权, 以此类推,上述例子 中的位权从高位到低位依次就是76543210,这个位权也叫做次幂,那么最高位就是2的7次幂,,2的6次幂等等。二进制数的运算每次都会以2为底,这个2指得就是基数,那么十进制数的基数也就是10。在任何情况下位权的值都是数的位数- 1,那么第一位的位权就是1-1=0,第二位的位权就是2-1= 1,以此类推。

    那么二进制数其实就是用0和1两个数字来表示的数,它的基数为2,它的数值就是每个数的位数* 位权再求和得到的结果,我们一般来说数值指的就是十进制数,那么它的数值就是3* 10+ 9* 1= 39。

    移位运算和乘除的关系
    下面我们来看一下二进制的运算,和十进制数一样,加减乘除也适用于二进制数,只要注意逢2进位即可。二进制数的运算,也是计算机程序所特有的运算,因此了解二进制的运算是必须要掌握的。
    首先我们来介绍移位运算, 移位运算是指将二进制的数值的各个位置上的元素坐左移和右移操作,见下图:
    在这里插入图片描述
    上述例子中还是以39为例,我们先把十进制的39转换为二进制的0010 0111 ,然后向左移位<<一个字节,也就变成了 0100 1110,那么再把此二进制数转换为十进制数就是上面的78, 十进制的78竟然是十进制39的2倍关系。我们在让0010 0111左移两位,也就是1001 1100 ,得出来的值是156,相当于扩大了四倍!

    因此你可以得出来此结论,左移相当于是数值扩大的操作,那么右移>> 呢?按理说右移应该是缩小1/2,1/4倍,但是39缩小二倍和四倍不就变成小数了吗?这个怎么表示呢?

    便于计算机处理的补数
    刚才我们没有介绍右移的情况,是因为右移之后空出来的高位数值,有0和1两种形式。要想区分什么时候补0什么时候补1,首先就需要掌握二进制数表示负数的方法。

    二进制数中表示负数值时,一般会把最高位作为符号来使用,因此我们把这个最高位当作符号位。符号位是0时表示正数,是1时表示负数。那么-1用二进制数该如何表示呢?可能很多人会这么认为:因为1的二进制数是0000 0001 ,最高位是符号位,所以正确的表示-1,但是这个答案真的对吗?

    计算机世界中是没有减法的,计算机在做减法的时候其实就是在做加法,也就是用加法来实现的减法运算。比如100-50,其实计算机来看的时候应该是100 + (-50),为此,在表示负数的时候就要用到二进制补数,补数就是用正数来表示的负数。

    为了获得补数,我们需要将二进制的各数位的数值全部取反,然后再将结果+ 1即可,先记住这个结论,下面我们来演示一下:
    在这里插入图片描述
    具体来说,就是需要先获取某个数值的二进制数,然后对二进制数的每一位做取反操作(0 -->- 1 , 1 -->),最后再对取反后的数+1,这样就完成了补数的获取。

    补数的获取,虽然直观上不易理解,但是逻辑上却非常严谨,比如我们来看一下1-1的这个过程:
    在这里插入图片描述
    奇怪,1-1会变成130,而不是0,所以可以得出结论1000 0001 表示-1是完全错误的。那么正确的该如何表示呢?其实我们上面已经给出结果了,那就是1111 1111,来论证一下它的正确性:
    在这里插入图片描述
    我们可以看到1 -1其实实际上就是1 +(-1),对-1进行上面的取反+ 1后变为1111 1111,然后与1进行加法运算,得到的结果是九位的1 0000 0000,结果发生了溢出,计算机会直接忽略掉溢出位,也就是直接抛掉最高位1,变为0000 0000。也就是0,结果正确,所以1111 1111表示的就是-1。所以负数的二进制表示就是先求其补数,补数的求解过程就是对原始数值的二进制数各位取反,然后将结果+ 1。

    当然,结果不为0的运算同样也可以通过补数求得正确的结果。不过,有一点需要注意,当运算结果为负的时候,计算结果的值也是以补数的形式出现的,比如3-5这个运算,来看一下解析过程:
    在这里插入图片描述
    3-5的运算,我们按着上面的思路来过一遍,计算出来的结果是1111 1110 ,我们知道,这个数值肯定表示负数,但是负数无法直接用十进制表示,需要对其取反+ 1,算出来的结果是2,因为11111110的高位是1,所以最终的结果是-2。

    编程语言的数据类型中,有的可以处理负数,有的不可以。比如C语言中不能处理负数的unsigned short 类型,也有能处理负数的short 类型,都是两个字节的变量,它们都有2的十六次幂种值,但是取值范围不一样, short类型的取值范围是-32768 - 32767,unsigned short的取值范围是0 -65536。

    仔细思考一下补数的机制,就能明白-32768 比32767多一个数的原因了,最高位是0的正数有0~32767共32768个,其中包括0。最高位是1的负数,有-1 ~ -32768共32768个,其中不包含0。0虽然既不是正数也不是负数,但是考虑到其符号位,就将其归为了正数。

    算数右移和逻辑右移的区别
    在了解完补数后,我们重新考虑一下右移这个议题,右移在移位后空出来的最高位有两种情况0和1。当二进制数的值表示图形模式而非数值时,移位后需要在最高位补0,这就被称为逻辑右移。
    在这里插入图片描述
    将二进制数作为带符号的数值进行右移运算时,移位后需要在最高位填充移位前符号位的值(0或1)。这就被称为算数右移。如果数值使用补数表示的负数值,那么右移后在空出来的最高位补1,就可以正确的表示1/2,1/4, 1/8等的数值运算。如果是正数,那么直接在空出来的位置补0即可。

    下面来看一个右移的例子。将-4右移两位,来各自看一下移位示意图:
    在这里插入图片描述
    如上图所示,在逻辑右移的情况下,-4右移两位会变成63,显然不是它的1/4, 所以不能使用逻辑右移,那么算数右移的情况下,右移两位会变为-1, 显然是它的 1/4,故而采用算数右移。

    那么我们可以得出来一个结论: 左移时,无论是图形还是数值,移位后,只需要将低位补0即可;右移时,需要根据情况判断是逻辑右移还是算数右移。

    逻辑运算的窍门
    掌握逻辑和运算的区别是:将二进制数表示的信息作为四则运算的数值来处理就是算数,像图形那样,将数值处理为单纯的0和1的罗列就是逻辑。

    计算机能够处理的运算,大体可分为逻辑运算和算数运算,算数运算指的是加减乘除四则运算;逻辑运算指的是对二进制各个数位的0和1分别进行处理的运算,包括逻辑非(NOT运算)、逻辑与(AND运算)、逻辑或(OR运算)和逻辑异或(XOR运算)四种。

    • 逻辑非 指的是将0变成1, 1变成0的取反操作
    • 逻辑与指的是“两个都是 1时,运算结果才是1,其他情况下是0”
    • 逻辑或指的是“至少有一方是 1时,运算结果为1,其他情况下运算结果都是0”
    • 逻辑异或 指的是“其中一方是1,另一方是0时运算结果才是1,其他情况下是0”
      在这里插入图片描述
      掌握运算的窍门,就是要摒弃二进制数表示数值这一个想法。大家不要把二进制数表示的值当作数值,应该把它看成是开关上的ON/OFF。
    展开全文
  • 无符号二进制数的算术运算

    万次阅读 2019-02-24 19:50:16
    无符号二进制数、减、乘、除四则算数运算法则其实与十进制的四则算数运算法则是一一对应的。如果你理解了十进制的四则算数运算法则,那么理解无符号二进制数的四则运算相对来讲就很简单了 –引用自王达老师...
  • 二进制数运算方法

    万次阅读 多人点赞 2017-08-29 14:12:13
    二进制数的算术运算包括:、减、乘、除四则运算,下面分别予以介绍。 (1)二进制数加法 根据“逢二进一”规则,二进制数加法的法则为: 0+0=0 0+1=1+0=1 1+1=0 (进位为1) 1+1+1=1 (进位为1...
  • 二进制数的算术运算和逻辑运算

    千次阅读 2021-04-08 19:28:25
    二进制数加法采用逢二进一、减法采用借一作二。 十六进制数加法采用逢十六进一、减法采用借一作十六。 1位八进制可以写成3位二进制,因为3位二进制可以表示十进制范围0~7,也就是1位八进制的表示范围。 1位十六进制...
  • 二进制数加法步骤解析

    千次阅读 2020-11-18 17:43:00
    文章目录位运算二进制数加法步骤例子代码演示 二进制加法需要用到位运算,所以先来复习下位运算。 位运算 运算 符号(java) 描述 位与 & 都为1,结果为1,否则为0。 位或 | 有一个为1或两个位都为1,...
  • 二进制加运算

    千次阅读 2021-09-11 23:41:24
    二进制加法原则是:2个1相加等于2就要向前给1,下面得算为0,相当于十进制1+9=10向前给1,下面得算为0,因为二进制只有0和1 ,所以11等于2多了一个1就要往前送。 二进制减法原则是:0减1不够,就向前借2减1 1...
  • 简单计算二进制加减法

    千次阅读 2021-10-22 09:29:06
    二进制就是计算机技术中广泛采用的一种数制,由(0,1)组成。你可以广泛的认为,每一个 0,1 都(存储在)对应着一个比特位(bit),而由这些由例如:01001011就是二进制。(计算机硬件通电的时,会产生电信号,而用...
  • (带符号的二进制数的表示方法及加减法运算)★ 机器:在机器中使用的连同符一起 代码化的。 按照机器的小数点位置是否固定,把分为:★ 定点★ 浮点数 所有数据的小数点位置固定不变。★ 定点小数 X0.X1...
  • 二进制加减法,23个位运算技巧

    千次阅读 2019-04-06 20:36:22
    二进制加减法 二进制最高位为1时表示负数,为0时表示正数。 **原码:**一个正数,转换为二进制位就是这个正数的原码。负数的绝对值转换成二进制位然后在高位补1就是这个负数的原码。 举例说明:  int类型的 3 的...
  • 计算机中使用二进制表示一个数字,使用科学计数的形式表示浮点数,在Java中使用IEEE 754标准做为二进制浮点数算术标准。IEEE 754规定了四种表示浮点数值的方式:单精确度(32位)、双精确度(64位)、延伸单精确度...
  • 二进制加减法_二进制加减法

    万次阅读 多人点赞 2020-07-25 16:25:50
    二进制的加减法 1)二进制加法 (1) Binary Addition) Since binary numbers consist of only two digits 0 and 1, so their addition is different from decimal addition. Addition of binary numbers can be done ...
  • 二进制数运算前,我们先看看二进制数的值与十进制的值是如何相互转换的, 十进制转换成二进制 将十进制除以2,得到的商再除以2,依次类推直到商为1时为止,然后在旁边标出各步的余数,最后从下往上倒着写...
  • 二进制算术、逻辑运算

    千次阅读 2021-01-23 11:43:27
    二进制算术1、逻辑运算1.1 加法运算规则1.2 减法运算规则1.3 乘法运算规则1.4 除法运算规则2、逻辑运算 \quad \quad二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的。它的基数为2,...
  • 二进制数运算规则

    万次阅读 2018-08-24 10:14:32
     (3) 乘法运算规则 例如:二进制数之间可以执行算术运算和逻辑运算,其规则简单,容易实现。  (1) 加法运算规则  0 + 0 = 0 例如: 1 1 0 1  0 + 1 = 1 +) 1 0 0 1  1 + 0 = 1  1 + 1 = 0 (产生进位) ...
  • C语言计算二进制数加法

    千次阅读 多人点赞 2020-09-07 21:18:12
    文章目录前言一、C语言中二进制数加法计算测试结果 前言 在C语言中计算二进制数加法 一、C语言中二进制数加法计算 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <...
  • 二进制加法运算

    千次阅读 2019-06-20 21:54:54
    两个二进制整数相加时,是位对位处理的,从最低的一对位(右边)开始,依序将每一对位进行加法运算。两个二进制数字相加,有四种结果,如下所示: 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 10 1 与 1 ...
  • 计算机内部的二进制浮点数运算 十进制科学计数法的加法例子 1.123×10^5 + 2.560×10^2 =1.123×10^5 + 0.002560×10^5 =1.12556×10^5 =1.126×10^5 进行尾数运算前,必须“对阶”!最后还要考虑舍入。 ...
  • 二进制浮点数的加减法运算

    千次阅读 多人点赞 2019-09-27 11:45:55
    二进制浮点数的规格化表示形式定义为N=2E⋅MN=2^E·MN=2E⋅M其中MMM称为尾数,EEE称为阶码 例如二进制浮点数11.011011的规格化表示形式为:2+0010×0.110110112^{+0010}×0.110110112+0010×0.11011011该浮点数在...
  • 二进制加减法计算法则

    万次阅读 多人点赞 2020-02-12 14:24:09
    一、二进制加法(逢2进1) 举例:100111+11010=100001 1 0 0 1 1 1 1 1 0 1 0 —————— 1 0 0 0 0 1 十进制加法是逢十进一,二进制加法是逢二进一。 最低位:10得1。 倒数第2位:11得2,同时进1。 倒数第3位...
  • 无符号二进制、减、乘、除四则算数运算法则,与十进制的四则算数运算...做二进制加法运算的时候,需要将两个二进制右对齐(也就是从最低位开始对齐),数值大的放上面(通俗理解就是二进制位数多的放上面),
  • 原码的加减法 加法一共有四种可能: 正数 + 正数:取绝对值相加即可,结果是正数 负数 + 负数:取绝对值相加,结果是负数 正数 + 负数:绝对值大的减去绝对值小的,符号谁大取谁的符号 负数 + 正数:绝对值大的...
  • 文章目录一、二进制加法二、二进制减法 一、二进制加法 二、二进制减法
  • 二进制常用运算方式和基本概念
  • java实现二进制加法

    2021-02-13 01:50:14
    先看打印结果在看代码比较好理解。结果在最下面的位置。总结:讲解了二进制的按位异域、按位与、左移的运算规则。并通过次3种算法得到2个...//初始化要执行加法的值System.out.println("===开始二进制运算===");a...
  • 引言平时的编程过程中,当进行整数运算时,经常会遇到一些奇怪的结果,比如两个正数出负数,两个负数可以出一个正数,这些都是由于数值表示的有限性导致的。下面我们来看看C语言和Java语言当中的例子。public ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 76,361
精华内容 30,544
关键字:

二进制数的加法运算