C基础(九)位运算

书目《C程序设计(第三版)

所谓位运算是指进行二进制位的运算。

  • (一)按位与运算符(&)
    相应二进制位都为1,结果为1,否则为0。
    可用于:
    1、清零
    2、取一个数中某些指定位
    3、保留一个数中某些指定位

  • (二)按位或运算符(|)
    相应二进制位只要有一个为1,结果为1。
    可用于:
    1、置某些指定位为1

  • (三)异或运算符(^)
    也称XOR运算符,相应二进制位同号为0(假),异号为1(真)。
    可用于:
    1、使特定位翻转
    2、保留原值
    3、不用临时变量交换两个值

  • (四)取反运算符(~)
    这是一个单目运算符,对一个二进制数按位取反。
    可用于:
    1、取最低一位为0的代码,保持其在不同系统下的通用性

  • (五)左移运算符(<<)
    用来将一个数的各二进制位全部左移若干位,高位左移后舍弃,右补0。
    可用于:
    1、左移n位,相当于将该数乘以2的n次方(仅适用于被舍弃的高位中不包含1的情况)

  • (六)右移运算符(>>)
    用来将一个数的各二进制位全部右移若干位,低位右移后舍弃,左补0(仅适用于无符号数或者有符号数中的正数)。
    可用于:
    1、右移n位,相当于将该数除以2的n次方

  • (七)不同长度的数据进行运算
    如果两个数据长度不同,进行位运算时,系统会将其按照右端对齐。长度较短的数据,当其为正数或者无符号数时,左侧补0,当其为负数时,左侧补1。

  • (八)位段
    C语言允许在一个结构体中以位为单位来指定其成员所占的内存长度,这种以位为单位的成员称为“位段”或者“位域”。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值