欢迎访问:常州市武进区嘉泽中心小学网站 !今天是:
栏目列表
您现在的位置是:首页>>教师>>计算机技术>>程序设计>>杂项>>文章内容
^ & || ~ 基础 (大家改正)
发布时间:2008-11-20   点击:   来源:本站原创   录入者:佚名
 

a ^ b  a|| b   a & b            a        b

 1         1        0                1         0

 0         1        1                1        1

0          0        0                0        0

1          1        0                0        1

101000001

~101000001

结果 010111110

正数符号位是0,负数符号位是1

左移一位 可以等价 x2

右移一位 可以等价 /2

正数来说,最高位是0,其余各位代表数值本身的二进制数;
      对于负数来说,把该数的绝对值的补码按位取反,然后对整个数+1,取得该数的补码。如-1的补码为11111111,-1的绝对值补码是00000001,按位取反11111110,再加1,11111111


      左移运算符(<<)会左操作数向左迁移,迁移的位数由右操作数决定(左移后,低位补0)a=a<<2,使a的各个二进制位左移2位,右补0,若a=00001111则a<<2=00111100,高位左移后溢出的位舍弃掉了在不产生溢出的情况下,左移一位相当于乘2,用这种方法来实现乘法,要比乘法运算快很多

右移运算符先会采用一种叫符号扩展的措施:如果原值为正数,高位补0;如果原值为负数,则高位补1


附件:
    关闭窗口
    打印文档
    账号登录
    保持登录 忘记密码?
    账号与武进教师培训平台同步