12.1.4按位取反 将参与运算量的相对应位的值取反,即1变0 0变1。 如:a的值为0x1234,~a运算的结果c应为: a0001001000110100 c1110110111001011 x
12.1.4 按位取反 将参与运算量的相对应位的值取反,即1变0 ,0变1。 如:a的值为0x1234, ~a运算的结果c应为: ~a 0001 0010 0011 0100 c 1110 1101 1100 1011
12.1.5按位左移 按位左移是将一个运算量的各位依次左移若干位, 低位补0,高位舍弃不要。 假设机器字长为8位,变量a的值为16,将a左移二位,即 a=a<<2:左移前00010000 左移后01000000 由此看出,左移一位相当于该数乘2,左移二位相当于乘4 ,即22,但这要以该数左移之后不“溢出”为前提。所谓“溢出 ”指该数已超过机器字长所能容纳的范围,如该例若继续左移二 位,该数为16×24=256,超出了字长8位的表示范围(257) 即产生了溢出
12.1.5 按位左移 按位左移是将一个运算量的各位依次左移若干位, 低位补0,高位舍弃不要。 假设机器字长为8位,变量a的值为16,将a左移二位,即 a=a<<2: 左移前 0001 0000 左移后 0100 0000 由此看出,左移一位相当于该数乘2,左移二位相当于乘4 ,即2 2,但这要以该数左移之后不“溢出”为前提。所谓“溢出 ”指该数已超过机器字长所能容纳的范围,如该例若继续左移二 位,该数为16× 2 4=256,超出了字长8位的表示范围(257), 即产生了溢出