C语言入门----位运算

  1. 在进行如何位运算之前,首先应将任何表达式的结果转换成二进制,计算完之后再转换成原来的进制即可得到运算结果,不能对浮点数进位运算。
  2. 按位与(&):两个位都为1,结果才为1。
    作用:
    ●清零:要将某一位清零,可将相应为设置为0.其他位为1,再使用按位与运算。
    ●取指定位:想取某一位,可将相应的位设置为1,其他位为0,再使用按位与运算。

  3. 按位或(|):有一个位为1,结果就为1。
    作用:将某位设置为1:可以将相应的位设置为1,再使用按位或运算。

  4. 按位异或(^):两个位不同,结果为1,否则为0。
    任何数与自己异或都为0,任何数与0异或值不变。
    作用:
    ●翻转位,要将某一位翻转,可将相应的位设置为1,第一次用按位异或运算,可将其翻转,第二次用按位异或又可将其翻转回来。
    ●不用临时变量交换两个变量的值。a=a^b;b=b^a;a=a^b;
  5. 按位取反(~):将每一位都取反。
  6. 左移(<<)
    格式:二进制 << 要移动的位数
    作用:将二进制左移一定的位数,最右边补0,任何一位移出左边界,自动丢弃。不越界的左移一位相当于变量值乘以2。
  7. 右移(>>)
    格式:二进制 >> 要移动的位数
    作用:将二进制右移一定的位数,最左边补0(或1,如果要移的数是负数,最左边符号位为1,右移的时候左边自动补1),任何一位移出右边界,自动丢弃。不越界的右移相当于让变量除以2。
    位运算的优先级:~ 高于 << >> 高于 & 高于 ^ 高于 |
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值