关于【按位与】、【按位或】和【按位异或】

【按位与(&)】

eg.10&14
10=1010
14=1110
∴10&14=1010=10

eg.-6^5
-6的补码:1111 1010
5=0000 0101
-6&5=1

eg.-6&-4
-6的补码:1111 1010
-4的补码:1111 1100
-4&-6=1111 1000=-8

☆负数的按位与用其补码进行计算

【按位或(|)】

相应位置上都为1或一个为1一个为0,取1;都为零,取0.

eg.4|6=6

【按位异或(^)】

特点:

(1) 0^0=0,0^1=1  0异或任何数=任何数
(2) 1^0=1,1^1=0  1异或任何数-任何数取反
(3) 任何数异或自己=把自己置0

链接:深入理解按位异或运算符

时间: 2024-10-16 08:13:59

关于【按位与】、【按位或】和【按位异或】的相关文章

Java中逻辑与,逻辑或,按位与,按位或的区分

一直以来,对这样的概念很是模糊,今天总结了一下 先说说逻辑与(&&),逻辑或(||) 他们是短路形式的,举例说明 int i = 0;    System.out.println ( i++ == 1 && i++ == 2);//打印false    System.out.println (i);//打印1 //这里先判断i++是否等于1,因为是右自增,所以这里i++ == 1是错误的,短路就是说不用执行后面的i++ == 2了,   直接返回一个false,所以这就是最

Python "按位或"和"按位异或"的区别

首先分别解释一下按位或和按位异或 按位或: 按位或指的是参与运算的两个数分别对应的二进制位进行“或”的操作.只要对应的两个二进制位有一个为1时,结果位就为1.python中运算符为“|” 按位异或: 按位异或就是将参与运算的两个数对应的二进制位进行比较,如果一个位为1,另一个位为0,则结果为1,否则,结果位为0.python中运算符为“^” 下面用9和3为操作对象两个例子解释一下: 十进制9 对应的二进制为00001001 十进制3 对应的二进制为00000011 按位或运算结果为   0000

按位与&、按位或|、按位异或^

与1进行位与&运算,值保持不变: 与0进行位与&运算,值清0: 按位与&常用于将整型变量中某些位清0,而其他位保持不变. 与1进行位或|运算,值置1: 与0进行位或|运算,值保持不变: 按位或|常用于将整型变量中某些位置1,而其他位保持不变. 与1进行位异或^运算,值取反: 与0进行位异或^运算,值保持不变: 按位异或^常用于将整型变量中某些位取反,而其他位保持不变.

按位与,按位或,按位异或,左移右移运算符

按位与运算符(&) 参加运算的两个数据,按二进制位进行“与”运算. 运算规则:0&0=0;   0&1=0;    1&0=0;     1&1=1; 即:两位同时为“1”,结果才为“1”,否则为0 例如:3&5  即 0000 0011 & 0000 0101 = 0000 0001   因此,3&5的值得1. 另,负数按补码形式参加按位与运算. “与运算”的特殊用途: (1)清零.如果想将一个单元清零,即使其全部二进制位为0,只要与一个各

按位与,按位或,按位异或,按位取反

位运算符:是指对二进制位从低位到高位对齐后进行运算. 1.按位与 & 二进制“与”运算规则:1&1=1 1&0=0 0&0=0 例如: $n=6; $m=12; $n&$m=??? 其中: 6 = 二进制   110: 12= 二进制1100: $n&$m=10 0110 1100 ==>0100(二进制)===>10(十进制) 2.按位或 | 二进制“或”运算规则:1|1=1 1|0=1 0|0=0 3.按位异或  ^ 参与运算的两个值,如果两

位与&, 位或| ,位异或 ^ 总结

目录 按位与运算符(&) 参加运算的两个数据,按二进制位进行“与”运算. 运算规则:0&0=0;  0&1=0;   1&0=0;    1&1=1; 即:两位同时为“1”,结果才为“1”,否则为0 例如:3&5  即 0000 0011& 0000 0101 = 00000001  因此,3&5的值得1. 另,负数按补码形式参加按位与运算. “与运算”的特殊用途: (1)清零.如果想将一个单元清零,即使其全部二进制位为0,只要与一个各位都为

判断回文,位与,位或

//判断字符串是否是回文? int fun(char *sre) { char *s1,*s2; s1 = str; s2=str+strlen(str)-1; if(strlen(str)%2 != 0) { return 0; } while(s1<=2) { if(*s1==*s2) { s1++; s2--; } else return 0; } return 1; } //讲一个字符串转化为十进制数("123456" to 123456,字符串中只有数字,没有 //没有

神奇的位操作

基本知识: & 位与操作 |  位或操作 ^ 按位异或操作 ~ 位非操作 计算机中数字有原码,反码,补码三种存储格式,通常都是补码形式: 一个正数的原码,反码和补码相同:一个负数,符号位为1,其余各位对原码按位取反,然后加1: 技巧总结: 1.n & (n - 1)可以去掉n位表示中的最后一个1,利用这个可以统计一个数的二进制表示中1的个数: 2.每个数乘以2,就相当于向左移动一位.所以2的n次幂就是1向左移动n位: 3.异或操作 a ^ b ^ b = a ^ (b ^ b) = a ^

InstallShield 脚本语言学习笔记

InstallShield脚本语言是类似C语言,利用InstallShield的向导或模板都可以生成基本的脚本程序框架,可以在此基础上按自己的意愿进行修改和添加.     一.基本语法规则      1.变量      BOOL 布尔型 值为TRUE(1)或FALSE(0)      CHAR 字符型 一字节长的(8bit)的字符      HWND 窗口句柄 用来存放窗口句柄      INT 整型 两字节长的整数      LIST 列表型 指向InstallShield列表,用ListCr

【SqlServer】SqlServer编程语言T-SQL的简介及基本用法

一.T-SQL概述 SQL Server用于操作数据库的编程语言为Transaction-SQL,简称T-SQL.T-SQL与PL/SQL不同,并没有固定的程序结构.T-SQL包括以下4个部分: DDL:定义和管理数据库及其对象,例如create.alter和drop等.    DML:实现对数据库表各对象的操作,例如insert.update等.    DCL:数据控制语言,实现对数据库进行安全管理和权限管理等控制,例如grant.revoke.deny等.    附加的语言元素.T-SQL的