精华内容
下载资源
问答
  • 二进制数运算前,我们先看看二进制数的值与十进制的值是如何相互转换的, 十进制转换成二进制 将十进制除以2,得到的商再除以2,依次类推直到商为1时为止,然后在旁边标出各步的余数,最后从下往上倒着写...

    二进制数与十进制数的转换

    聊二进制数的运算前,我们先看看二进制数的值与十进制数的值是如何相互转换的,
    十进制转换成二进制
    将十进制数除以2,得到的商再除以2,依次类推直到商为1时为止,然后在旁边标出各步的余数,最后从下往上倒着写出来,高位补零就可以成功转换成二进制。
    例如下图49的二进制数就是110001
    在这里插入图片描述
    二进制转换成十进制
    只需将二进制数的各数位的值和位权相乘,然后将相乘的结果相加即可,有木有感觉特别方便。
    在这里插入图片描述
    二进制数的符号位
    二进制数中表示负数值时,一般会把最高位作为符号位来使用,最高位为0代表正数,最高位为1代表负数。
    这时了解二进制的人可能就会疑问,既然最高位1代表负数,1是00000001,那-1应该是10000001,为什么是11111111呢?要解释这个我们要先引入“补数”的概念,因为计算机在做加减运算时其实内部只会做加法运算,所以为了表示负数,就用正数来表示负数,这就是负数的概念。得到补数的方法很简单,进行取反操作,将二进制数的各位数的数值由1变为0,0变为1,再将结果加上1就可以了。

    00000001——————1(十进制)
    先进行取反操作,之后再加上1
    11111110
    变成
    11111111——————-1(十进制)

    不信的同学还可以验证以下,就会发现8位二进制的-1+1刚好等于100000000,而计算机会直接忽略掉最高位溢出的那个数字,所以刚好是00000000了。

    二进制数的乘除运算

    二进制数的乘除运算有两种方法,要么先转化位十进制数进行运算之后再转换为二进制(想来有点麻烦),要么头铁直接用二进制数进行乘除运算。

    在这里插入图片描述
    二进制数111乘以1011,乘数1011的每一位分别与乘数相乘,得到111、1110、00000、111000,将其加起来,得到1001101,这便是二进制乘法最直接的解求过程;也可以将111转化为十进制数7,1011转化为十进制数11,显版然7乘以11等于77,再将十进制数77化为二进制数1001101,显然1x26+1x23+1x22+1x20=64+8+4+1=77,所求结果完全正确。——百度

    二进制数的移位运算

    移位运算可是二进制的门面招牌
    在这里插入图片描述

    移位运算指的是将二进制数值的各数位进行左右移位(shift=移位)的运算。移位有左移(向高位方向)和右移(向低位方向)两种。在一次运算中,可以进行多个数位的移位操作。在程序代码中<<这个运算符表示左移,>>这个运算符表示右移,

    int a=1;
    int b;
    b=a<<3;//b现在为8

    运算符左侧是被移位的值,右侧表示要移位的位数。看到这有些同学就会想到,这移了几位不多了几个空白处么,计算机这千年老怪早想好了,如果是左移运算的话,它就会在空出来的低位补0。如果是右移运算的话,就稍微有点特殊,因为存在两种情况,既可以填1也可以填0,这就是逻辑右移和算数右移的区别。

    当二进制数的值表示图形模式而非数值时,移位后需要在最高位补0.类似于霓虹灯往右滚动的效果。这就称为逻辑右移。
    将二进制数作为带符号的数值进行运算时,移位后要在最高位填充移位前符号位的值(0或1)。这就称为算数右移。例如负数就在最高位补1,正数就在最高位补0。
    在这里插入图片描述

    展开全文
  • 二进制数的算术运算和逻辑运算

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

    算术运算
    二进制数加法采用逢二进一、减法采用借一作二。
    十六进制数加法采用逢十六进一、减法采用借一作十六。
    1位八进制可以写成3位二进制,因为3位二进制可以表示十进制范围0~7,也就是1位八进制的表示范围。
    1位十六进制可以写成4位二进制,因为4位二进制可以表示十进制范围0~15,也就是1位十六进制的表示范围。
    后缀B表示二进制,H表示十六进制,D表示十进制。
    例如:
    1011011B + 10011B = 1101110B
    1011 B * 10011B = 11010001B
    65H + 7AH = 0DFH
    65H * 7AH = 3022H
    110011.0101B + 22.4H = (110011.0101B + 100010.01B = 1010101.1001B =) 85.5625D

    逻辑运算
    二进制数的逻辑运算是位对位的运算,即本位运算结果不会对其他位产生任何影响,这一点与算术运算是截然不同的。
    二进制数的逻辑运算有四种:与AND、或OR、异或XOR、非NOT。
    在这里插入图片描述
    例如:
    10010111B AND 00111000B = 00010000B
    10010111B OR   00111000B = 10111111B
    10010111B XOR 00111000B = 10101111B

    另外,利用逻辑运算可以完成特定操作。
    AND运算可以对指定位进行清零:
    对x的第0、3位清零操作:x AND 11110110B
    OR运算可以对指定位进行置一:
    对x的第1、2位置1操作:x OR 00000110B
    XOR运算可以对指定位进行取反:
    对x的地3、7位取反操作:x XOR 10001000B

    展开全文
  • 二进制数运算方法

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

    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
    
    展开全文
  • 二进制数逻辑运算

    千次阅读 2011-11-03 19:46:56
     “与”运算是实现“必须都有, 否则就没有”这种逻辑关系的一种运算。 运算符为“? ”, 其运算规则如下: 0?0=0, 0?1=1?0=0, 1?1=1 b.“或”运算  “或”运算是实现“只要其中之一有, 就有”这种...
      
    
    a.“与”运算
            “与”运算是实现“必须都有, 否则就没有”这种逻辑关系的一种运算。 运算符为“?  ”, 其运算规则如下:
    0?0=0,        0?1=1?0=0,       1?1=1
    b.“或”运算
           “或”运算是实现“只要其中之一有, 就有”这种逻辑关系的一种运算, 其运算符为“+”。  “或”运算规则如下:
    0+0=0,      0+1=1+0=1,   1+1=1
    c.“非”运算
           “非”运算是实现“求反”这种逻辑的一种运算,如变量A的“非”运算记作       。 其运算规则如下:
    0的非=1,1的非=0

    d.“异或”运算
    “异或”运算是实现“必须不同, 否则就没有”这种逻辑的一种运算, 运算符为“”。其运算规则是:
    0异或0=0,0异或1=1,1异或0=1,1异或1=0

     

     

    一个数是2的幂次方,那么这个数的二进制位数中,只能有一位数值为1.
     
    例如:10000, 100, 1等等。
     
    从中可以看到,如果把这个数减去1,那么结果值的2进制位应该如下:1111,11,0等等。
     
    这两个数的特点是:他们做或的时候,得到的结果是他们的和,例如:
     
    10000和1111的或结果是11111, 100和11的或值是111,1和0的或是1。
     
    所以我们可以如果实现一个方法判断一个数是否是2的幂次方:
     
    Java代码
    public static boolean is2Power(int number){ 
        if(number<=0){ 
            return false; 
        } 
        return (number|(number-1))==(2*number-1); 

     
    做一个测试:
     
    Java代码
    for(int i = 0;i<1000;i++){ 
        if(is2Power(i)){ 
            System.out.println(i); 
        } 

     
     
    得到的结果是:
     
    Java代码




    16 
    32 
    64 
    128 
    256 
    512 
     
    补充(另一种实现方法):
     
    也可以通过对1的移位来实现。还是上面说的,如果一个数是2的幂,那么它的二进制表示中就只有一位1,所以如果对数1进行移位操作,总会在移到某个位的时候和这个数相等。所以这个实现如下:
     
    Java代码
    public static boolean is2Power(int number){ 
        int j = 1; 
        while (number>j) { 
            j<<=1; 
        } 
        return j==number?true:false; 

     
     
    验证:
     
    Java代码
    for(int i = 0;i<10000;i++){ 
        if(is2Power(i)){ 
            System.out.println(i); 
        } 

     
     
    结果:
    Java代码




    16 
    32 
    64 
    128 
    256 
    512 
    1024 
    2048 
    4096 
    8192

    展开全文
  • 二进制算术1、逻辑运算1.1 加法运算规则1.2 减法运算规则1.3 乘法运算规则1.4 除法运算规则2、逻辑运算 ...二进制数的运算包括算术运算、逻辑运算。 1、逻辑运算 1.1 加法运算规则 规则:逢二进一 例子: 1.2 减
  • 详细介绍了二进制逻辑运算,本书不仅仅是学习数电模电的基础,而且还是学习微机原理的基础
  • 二进制运算电路 二进制运算电路 二进制运算电路 数字逻辑 数字逻辑
  • 二进制逻辑运算

    千次阅读 2013-06-23 20:50:09
    二进制逻辑运算的应用很广泛,例如系统的鉴权功能。 假设我们的系统中,每一个基本功能对应一个权值,该值是一个无符号二进制数,为2的n次方(n为正整数),系统所有功能对应的权值不重复。 功能 权值 ...
  • 二进制加减乘除运算

    万次阅读 多人点赞 2019-03-09 11:40:48
    二进制 十进制 0000 =0 0001 =1 ...二进制运算算术运算二进制的加法: 0+0=0, 0+1=1 , 1+0=1, 1+1=10(向高位进位); 列如 3+1=0011+0001=0100 5+2=0101+0010=0111 二进制的减...
  • 二进制数运算

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

    千次阅读 2016-08-02 20:14:15
    二进制是十分深刻的思想,不是说,一个数字系统只有 0/1 就意味着它是二进制,而是某系统,仅有两种状态: 0/1 开关 阴阳 黑白 男女
  • 二进制下异或运算二进制数中1个的奇偶性联系,也就是说有三种情况,1.拥有奇数个1的二进制数与拥有奇数个1的二进制数的异或运算。2.拥有奇数个1的二进制数与拥有偶数个1的二进制数的异或运算。3.拥有偶数个1的...
  • 前言 前面的课程有粉丝评论说没看懂,本id回去细看了一下,确实写得...为什么要讲这个,因为计算机的本质就是这些二进制逻辑运算。计算机之所以用二进制,是因为受硬件条件的制约。但是即便是这么简单的0和1,...
  • 二进制的四则运算及逻辑运算

    千次阅读 2020-08-03 16:48:07
    因为二进制只有两个数码,一个是0一个是1,也就是0和1之间的运算。 例题 计算37-38的值 解: 分别求得+37和-38的补码:00100101、11011010 。 然后,进行按位求和,得到: 00100101+11011010 = 11111111 所以,...
  • 二进制逻辑运算

    2021-03-28 09:30:41
    逻辑“与” 逻辑“或” 逻辑“非” 逻辑“异或”
  • 1.十进制转二进制:(如果是整数)除以2取余,逆序排列,(如果是小数)乘以2取整,顺序排列 例:10(10)=1010(2) 10%2=0 5%2=1 2%2=0 1%2=1 最后表示为二进制就是1010 例: (0.625)10= (0.101)2 0.625X2=1.25 ...
  • 1. 或(or |) 只要有一个为1,就为1。 2. 与(and &) 两个都为1,就为1。 3. 异或(xor ^) 两个不一样时,就为1。 4. 非(not !...2. 如何获取某个值的第n位的(二进制)值是多少? 例如:如何获取0x8F的
  • 二进制数及其运算

    2020-07-28 08:14:13
    如何使用二进制进行减乘除?二进制数如何表示负数呢?本文将为你揭晓。 为什么用二进制表示 计算机内部是由IC电子元件组成的,其中CPU和内存也是IC电子元件的一种,CPU和内存使用IC电子元件作为基本单元。IC电子...
  • C语言中的逻辑运算(!0x00=0x01),为什么啊?求详细解释(!非,非零表示1/零表示零),结果不应该是0x00吗?在线等,挺急的。。。
  • 2、记住前15个数值的二进制与十六进制表现形式有助于完成它们之间的转换工作 3、在使用无符号数值时,进位标志有助于判断是否发生溢出 4、使用逻辑运算符“or”,“and”,和“xor”分别来实现对比特位的设置、...
  • 计算机基础 二进制运算及转换 课程导入 在日常生活中 人们广泛使用的是十进制 有时也会遇到其他进制的 数制 又叫进位计数制 指的是一种计数规则 二进制 十二进制 十进制 十进制人们通常使用的是十进制 十二进制...
  • 数字逻辑电路-二进制逻辑运算

    千次阅读 2019-06-18 10:25:21
    这个操作按位与运算 异或左边四位取反,右边四位相同
  • 二进制数运算规则

    万次阅读 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 (产生进位) ...
  •  二进制数的算术运算包括:、减、乘、除四则运算,下面分别予以介绍。 (1)二进制数的加法  根据“逢二进一”规则,二进制数加法的法则为: 0+0=0 0+1=1+0=1 1+1=0 
  • python中的二进制逻辑运算逻辑运算 逻辑运算 python中含有和c++一样的&,|,~,^等逻辑运算,可以模拟减乘除等基础运算。 由于在python中定义变量类型没有固定的位长,我们在使用bin()方法打印变量的二进制表示时...
  • 关于一个的表示,我们常用的是十进制(人一般有十根手指嘛),另外也可以通过二进制、八进制、十六进制等表示(可以相互转换),而计算机存储始终采用的是二进制逻辑电路中利用电的低电平表示 0 ,高电平...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 146,505
精华内容 58,602
关键字:

二进制数的逻辑加运算