按位运算

位运算 &(按位与)    |(按位或)    ^(按位异或)

位运算的数都以补码的方式参与运算。
1)    按位与“&” 只有对应的两个二进位均为1时,结果位才为1 ,否则为0
2)    按位或 “|” 只要对应的二个二进位有一个为1时,结果位就为1
3)    按位异或 "^"  当两对应的二进位相异时,结果为1

一. 求 
    short  x = -99 
     short  y = 0xFF 
    x & y 得结果?

    x 的原码是: 1000 0000     0110 0011   说明:其中符号位" 1"表示为负数
    x 的反码是: 1 111 1111      1001 1100   说明 :  符号位" 1"没有发生变化
    x 的补码是: 1 111 1111     1001 110 1    说明 : 补码是在反码的基础上加1

    y = 0xFF ,它的十进制值是255
    y的原码是 : 0000 0000    1111 1111
    y的反码是 : 0000 0000    1111 1111
    y的补码是 : 0000 0000    1111 1111

     1 111 1111     1001 110 1
    0000 0000    1111 1111
  &
 --------------------------------
    0000 0000    1001 1101    ====> 结果即等于157      


二. 求 
    short x = -300 
     short  y = 0xFF 
    x & y 得结果?

解:
    x 的补码是: 1 111 1110    1101 0 100
    y 的补码是 :  0000 0000    1111 1111


     1 111 1110    1101 0 100
    0000 0000    1111 1111
 &
 --------------------------------
    0000 0000    1101 0100    ====> 结果即等于212
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值