精华内容
下载资源
问答
  • 二进制逻辑运算

    2021-03-28 09:30:41
    逻辑“与” 逻辑“或” 逻辑“非” 逻辑“异或”

    介绍

      计算机中的逻辑关系是一种二值逻辑,二值逻辑很容易用二进制的数 1(true)或 0(false)表示,例如真与假、是与否、成立于不成立

    • 包括逻辑“与”、逻辑“或”、逻辑“非”、逻辑“异或”。
    • 我在不同的地方查二进制逻辑运算发现使用的符号有多种,这里采用算法竞赛中所使用的符号。

    逻辑“与”

    “与”运算(逻辑乘),用符号 “ & \& &” 或 a n d and and 表示。

    • 1   &   1 = 1 1\ \&\ 1=1 1 & 1=1
    • 0   &   0 = 0 0\ \&\ 0=0 0 & 0=0
    • 1   &   0 = 0 1\ \&\ 0=0 1 & 0=0
    • 0   &   1 = 0 0\ \&\ 1=0 0 & 1=0

    例: 1010   & 1010\ \& 1010 &
       1001 ‾ = \underline{1001}= 1001=
       1000 1000 1000
    小结:一位为 0 0 0,结果为 0 0 0;若都为 1 1 1,结果为 1 1 1


    逻辑“或”

    “或”运算(逻辑加),用符号 “ ∣ | ” 或 o r or or 表示。

    • 1   ∣   1 = 1 1\ |\ 1=1 1  1=1
    • 0   ∣   0 = 0 0\ |\ 0=0 0  0=0
    • 1   ∣   0 = 1 1\ |\ 0=1 1  0=1
    • 0   ∣   1 = 1 0\ |\ 1=1 0  1=1

    例: 1010   ∣ 1010\ | 1010 
       1001 ‾ = \underline{1001}= 1001=
       1011 1011 1011
    小结:一位为 1,结果为 1;若都为 0 0 0,结果为 0 0 0


    逻辑“非”

    “非”运算(逻辑否),用符号 “~” 或 n o t not not 表示。

    • ~1 = 0
    • ~0 = 1

    例:~ 10 = 10= 10=
          01 \ \ 01   01
    小结: 1 1 1 0 0 0,非 0 0 0 1 1 1


    逻辑“异或”

    “异或”运算通常用符号 “xor”1 表示,其运算规则为:

    • 0   x o r   0 = 0 0\ xor\ 0=0 0 xor 0=0
    • 0   x o r   1 = 1 0\ xor\ 1=1 0 xor 1=1
    • 1   x o r   0 = 1 1\ xor\ 0=1 1 xor 0=1
    • 1   x o r   1 = 0 1\ xor\ 1=0 1 xor 1=0

    例: 1010   x o r 1010\ xor 1010 xor
       1001 = 1001= 1001=
       0011 0011 0011
    小结:不同为 1 1 1;相同为 0 0 0


    1. 一般“^”符号用于表示乘方运算,但在 C++ 中表示为异或。为了避免歧义我们统一将异或用“xor”表示 ↩︎

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

    千次阅读 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

    展开全文
  • 思路:2的幂次的二进制只含有一个1,n-1则除了该位为0,其余皆为1,故而n & (n-1) = 0 import java.util.*; public class Main { public static void main(String[] args){ Scanner in = new Scanner(System...

    一、判断数字是否为2的幂次

    思路:2的幂次的二进制只含有一个1,n-1则除了该位为0,其余皆为1,故而n & (n-1) = 0

    import java.util.*;
    
    public class Main {
    	public static void main(String[] args){
    		Scanner in = new Scanner(System.in);
    		while(in.hasNext()){
    			int n = in.nextInt();
    			System.out.println(isPowTwo(n));
    		}
    	}
    	public static boolean isPowTwo(int n){
    		return (n & (n-1))==0;
    	}
    }
    

    二、二进制中位1的个数

    编写一个函数,输入是一个无符号整数,返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为汉明重量)。
    在这里插入图片描述
    注:输入的n是整数,不是上面说的二进制。

    (1)暴力解法:

    public class Solution {
        // you need to treat n as an unsigned value
        public int hammingWeight(int n) { //输入整数
             String s = Integer.toBinaryString(n);
             int count=0;
             for(int i=0;i<s.length();i++){
                 if(s.charAt(i)=='1'){
                     count++;
                 }
             }
             return count;
        }
    }
    

    (2)位逻辑操作解法:

    public class Solution {
        // you need to treat n as an unsigned value
        public int hammingWeight(int n) { //输入的是整数,与运算会自动转二进制运算!
             int count=0;
             while(n != 0){
                 n = n & (n-1);//每与一次,就会少掉一个1
                 count++;
             }
             return count;
        }
    }
    

    三、不使加减符号实现两数相加

    写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。

    public class Solution {
        public int Add(int num1,int num2) {
            while(num2!=0){
                int temp = num1^num2;//相当于每一位相加,不考虑进位(相同为0,不同为1)
                num2 = (num1&num2)<<1;//两数相与,都为1才为1,再左移一位,说明是求进位
                num1 = temp;
            }
            return num1;
        }
    }
    

    四、

    展开全文
  • 数字逻辑电路-二进制逻辑运算

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

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    这个操作按位与运算
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    异或左边四位取反,右边四位相同
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 二进制算术1、逻辑运算1.1 加法运算规则1.2 减法运算规则1.3 乘法运算规则1.4 除法运算规则2、逻辑运算 ...二进制数的运算包括算术运算、逻辑运算。 1、逻辑运算 1.1 加法运算规则 规则:逢二进一 例子: 1.2 减
  • 二进制逻辑运算学习

    千次阅读 2013-07-15 10:12:27
    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....
  • 前言 前面的课程有粉丝评论说没看懂,本id回去细看了一下,确实写得...为什么要讲这个,因为计算机的本质就是这些二进制逻辑运算。计算机之所以用二进制,是因为受硬件条件的制约。但是即便是这么简单的0和1,...
  • 二进制数及其运算

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

    万次阅读 多人点赞 2017-08-29 14:12:13
    1.二进制数的算术运算 二进制数的算术运算包括:加、减、乘、除四则运算,下面分别予以介绍。 (1)二进制数的加法 根据“逢二进一”规则,二进制数加法的法则为: 0+0=0 0+1=1+0=1 1+1=0 (进位为1)...
  • 2、记住前15个数值的二进制与十六进制表现形式有助于完成它们之间的转换工作 3、在使用无符号数值时,进位标志有助于判断是否发生溢出 4、使用逻辑运算符“or”,“and”,和“xor”分别来实现对比特位的设置、...
  • 二进制数运算规则

    万次阅读 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 (产生进位) ...
  • 二进制运算电路 二进制运算电路 二进制运算电路 数字逻辑 数字逻辑
  • 二进制逻辑运算PPT学习教案.pptx
  • 二进制数运算前,我们先看看二进制数的值与十进制的值是如何相互转换的, 十进制转换成二进制 将十进制除以2,得到的商再除以2,依次类推直到商为1时为止,然后在旁边标出各步的余数,最后从下往上倒着写...
  • 二进制数逻辑运算

    千次阅读 2011-11-03 19:46:56
     “与”运算是实现“必须都有, 否则就没有”这种逻辑关系的一种运算。 运算符为“? ”, 其运算规则如下: 0?0=0, 0?1=1?0=0, 1?1=1 b.“或”运算  “或”运算是实现“只要其中之一有, 就有”这种...
  • 二进制数运算

    2020-06-01 23:08:44
    有关二进制的算术运算、逻辑运算
  • python中的二进制逻辑运算逻辑运算 逻辑运算 python中含有和c++一样的&,|,~,^等逻辑运算,可以模拟加减乘除等基础运算。 由于在python中定义变量类型没有固定的位长,我们在使用bin()方法打印变量的二进制表示时...
  • 二进制的四则运算及逻辑运算

    千次阅读 2020-08-03 16:48:07
    因为二进制只有两个数码,一个是0一个是1,也就是0和1之间的运算。 例题 计算37-38的值 解: 分别求得+37和-38的补码:00100101、11011010 。 然后,进行按位求和,得到: 00100101+11011010 = 11111111 所以,...
  • 逻辑与 (&&) :两者值都为1才取1,否则为0 逻辑或 ( || ):只要有1就取1,否则为0 逻辑非 ( ! ) :若是0,则取1,若是1,则取0 逻辑异或 (⊕):若两者值相同,则为0,若两者值不同,则为1 若能给你带来...
  • 二进制逻辑运算

    千次阅读 2016-08-02 20:14:15
    二进制是十分深刻的思想,不是说,一个数字系统只有 0/1 就意味着它是二进制,而是某系统,仅有两种状态: 0/1 开关 阴阳 黑白 男女
  • C语言中的逻辑运算(!0x00=0x01),为什么啊?求详细解释(!非,非零表示1/零表示零),结果不应该是0x00吗?在线等,挺急的。。。
  • 进制逻辑运算

    千次阅读 2016-03-16 23:59:27
    进制逻辑运算, n&(n-1)的作用
  • 二进制和位运算

    千次阅读 2019-03-15 20:03:26
    所有编程语言都是一种人和计算机之间的翻译工具,人的数组语言翻译成二进制给计算机读取,然后把计算机的二进制数据翻译成人类的语言呈现出来。 16进制 16进制用于缩写(简写)2进制,将2进制从后向前 每4位数转换...
  • 二进制算数运算 加法 (逢2进1)  名词解释  进位输入(carry in) : c in  进位输出(carry out) : c out  本位和 : S (sum)  2. ...
  • 详细介绍了二进制逻辑运算,本书不仅仅是学习数电模电的基础,而且还是学习微机原理的基础
  • 二进制逻辑运算符有关练习题

    千次阅读 2017-11-25 10:51:52
    写一个函数返回参数二进制中 1 的个数 #include&lt;stdio.h&gt; int div = 0; //除数 int rem = 0; //余数 int count = 0; //计1 int count_one_bits(unsigned int div) { int con = 0; //商 while (div &...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 137,926
精华内容 55,170
关键字:

二进制数的逻辑运算