关键词不能为空

位置:爱淘啦励志网 > 励志名言 > 或造句-用位and、or、异或运算

或造句-用位and、or、异或运算

作者:车型网
日期:2020-01-02 06:35:34
阅读:

一、比特和&符号( & )

1、概念:参加运算的两个对象以二进制比特进行and运算,负值以补数形式参加比特和运算。

2、运算规则:0&0=0; 0&1=0; 1&0=0; 1&1=1; 也就是说,两人同时为“1”,结果为“1”,否则为“有0则为0”

例如,3 &5= 1,0000 0011 & 0000 0101 = 0000 0001

3“与运算”的特殊用途:

(1)清零。 如果想要清零一个单元格,则即使所有的二进制比特都为0,但是如果一个比特均为零,结果为零。

(2)按一个数量定位。 如果寻找与x取得的比特对应的数目,则该数目的对应比特为1,且馀数比特为0,因此若将该数目与x运算为“与”,则可获得x中的指定比特。

例如,如果X=10101110,则可以取x的后4位,也可以取X & 0000 1111 = 0000 1110中可得到的x的2、4、6位。

二、位或(|)

1、概念:参加运算的两个对象以二进制比特进行or运算,负数以补数形式参加比特和运算。

2、运算规则:0|0=0; 0|1=1; 1|0=1; 1|1=1; 也就是说,如果参加运算的2个对象是1个,那么其值为1【1的话为1】

例如,3|5 = 7,0000 0011|0000 0101 = 0000 0111

3、“或运算”的特殊作用:

(一)一个数据的特定地点常用的1。 如果找到一个整数,则对应于x为1的比特,其中对应的比特数为1,且剩馀比特为零。 这个数据可以是x相的,或者x的特定位置可以是1。

例如,可将X=10100000的较低的四个位置1表示为X | 0000 1111 = 1010 1111。

三、异或运算( ^ )

1、概念:参加运算两个数据以二进制比特进行异或运算

2、运算规则:0^0=0; 0^1=1; 1^0=1; 1^1=0; 即,参加运算的2个对象,如果2个对应的比特是“异”(值不同),则该比特的结果为1,否则为0【同0异1】

例如,3^5=6,即0000 0011^0000 0101 = 0000 0110

3“异或运算”的特殊作用:

(1)使特定比特反转以搜索奇数个比特,对应于x反转的比特,其奇数个对应比特为1,剩馀比特为0,该奇数个比特可与对应于x的比特异或。

(2)不同于0或保留原始值,x^0000=1010。

例如,使X=10101110,x的后4位反转,得到X ^ 0000 1111 = 1010 0001。

(3)基于异或运算,不参照新的变量而交换2个变量的值

a = a ^ b; b = a ^ b; a = a ^ b;

【同样根据加减运算,a = a + b; b = a - b; a = a -b; 》和

四、不同长度的数据进行位运算

如果两个不同长度的数据进行比特运算,则该数据与右端对齐后再进行比特运算。

以and运算为例,在c语言中long型占4字节,int型占2字节,long型的数据和int型的数据进行and运算,右端一致时,左边不足的比特在以下3种状况下得到补充

(1)整数数据为正时,左边追加16个0。

(2)如果整数数据为负数,则向左补充16个1。

(3)如果整形数据是无符号的数,则向左侧也追加16个零。

例如long a=123; int b=1; 计算a & b。

例如long a=123; int b=-1; 计算a & b。

例如long a=123; unsigned int b=1; 计算a & b。

爱淘啦励志网相关推荐

  • 或造句-用位and、or、异或运算

    如果想将一个单元清零,即使其全部二进制位为0,只要与一个各位都为零的数值相与,结果为零。1、概念:参加运算的两个对象按二进制位进行“或”运算,负数按补码形式参加按位与运算。-或或或造句

    励志名言