(一)>>
C语言中的“右移运算符”。一般情况下,它是按位操作
特点:1.双目运算符,就像+、-、*、/一样,格式为(数1)>>(数2)2.数1是被操作数,如被减数、被除数等;数2是右移位数。3.优先级低,结合性:从左向右运算0xFFE0 0xFFE1 两个16进制的数
0xFFE0 >> 8 高位往低位移8位0xFFE0 转换成二进制 :1111 1111 1110 0000
往右移8位 : 1111 1111
不足的补0 : 0000 0000 1111 1111
所以 0xFFE0 >> 8 ----> 0x00FF ----> 0xFF
(二)&& 可以作为“按位与”或是“取地址”运算符。A.取地址> 作为一元运算符,结果是右操作对象的地址 例如:int a, *p; p = &a; // 这里的&作用是取变量a的地址,地址本身是一个抽象的概念,用于表示对象在存储器中的逻辑位置B. 按位与> 这里简单的可以细分为"位操作中的与操作运算符" 和 "逻辑运算中的与运算"1.位操作中的与操作运算符 --- 参与运算的两个数各对应的二进位相与,只有对应的两个二进位均为1时,结果才为1,否则为00xFFE0 >> 8 & 0xFF 0xFFE0 >> 8 在上面已经推出来了,相当于 0xFF & 0xFF因为这边是高8位往低8位右移 0xFF & 0xFF --> 0xFF0xFFE1 & 0xFF
0xFFE1 二进制 1111 1111 1110 00010xFF 二进制 0000 0000 1111 1111结果为 0000 0000 1110 0001 转换成16进制 > 0xE1 2.逻辑运算中的与运算 > 当两个&&一起用的时候,表示为逻辑运算中的与运算