c/c++ c语言位运算

位运算

c/c++ c语言位运算


  • 按位与
    • c/c++ c语言位运算
  • 按位或
    • c/c++ c语言位运算
  • 按位取反
    • c/c++ c语言位运算
  • 按位异或
    • c/c++ c语言位运算

  • c语言按位运算表达式
  • 二进制是针对整数,char,short,int,longlong,unsigend….
  • 按位与
    • c/c++ c语言位运算
    • c/c++ c语言位运算
  • 按位或
    • c/c++ c语言位运算
    • c/c++ c语言位运算
  • 按位异或
    • c/c++ c语言位运算
    • c/c++ c语言位运算
  • 按位取反
  • c/c++ c语言位运算
  • c/c++ c语言位运算

移位运算

c/c++ c语言位运算


  • 左移位
    • c/c++ c语言位运算
    • c/c++ c语言位运算
  • 右移位,移出的地位直接丢掉;
    • 空出的高位,如果是有负号的数据,那么就用最高位的负号位来填充
      • c/c++ c语言位运算
    • 如果是无负号类型,那么空出来的最高位就用0来表示;
      • c/c++ c语言位运算
      • 可以<<2位 或 >>3位 ….自定义移动的位数

位运算的综合运用

c/c++ c语言位运算


  • 逻辑运算的运用
  • 假设评价一个学生是否优秀,1,0因为每一位只能表示1,0美德,成绩,体能,数学 需要4个变量来存储;
  • 二进制的一个位就能表示;节省空间
    • c/c++ c语言位运算
  • 查询andy成绩是否合格
    • c/c++ c语言位运算
      • c/c++ c语言位运算
  • 查询coco的体能是否合格
    -c/c++ c语言位运算

    • c/c++ c语言位运算