iOS开发视频教程《C语言基础》

iOS开发视频教程《C语言基础》

3 (1人评价)
  • 课时:(35)

  • 学员:(174)

  • 浏览:(10689)

  • 加入课程

千锋3G学院-C语言基础视频教程-第09讲-位运算(1)的笔记

相关课时: 笔记详情:

位运算:针对一个变量的某一位的操作,称之为位操作;

int a;4字节;32位;

如:int a =5;0000 0000 0000 0000 0000 0000 0000 0101

最低位是第0为;最高位是第31位;

如果想把 第3为的0改成1,那么这就是位运算;

为运算符:& 按位与  |按位或 ^按位异或 ~按位取反 <<左移  >>右移

与运算:每一位进行与,一假即假

  • 5&3;
  • 0000 0000 0000 0000 0000 0000 0000 0101     5;     
  • 0000 0000 0000 0000 0000 0000 0000 0011     3;
  • 结果为:
  • 0000 0000 0000 0000 0000 0000 0000 0001     1;
  • 5&3 == 1;

与的时候,用的是补码;

  • -1的补码是全1;
  • 5&-1=5;

或运算:每一位进行或运算;一真即真;

5|3 == 7;

异或运算:a^b;相同为假,不同为真;

  • 相同为0,不同为1;

5^3 ==6;

 按位取反:0为1,1为0;一个数的取反等于他的相反数减一;

左移动 :每一位都向左移动一位,超出的舍去,末位补零;左移一位相当于乘以2;左移动2位,相当于乘以4;左移动n位相当于乘以2的n次方;

右移:不同的系统右移动的结果不同;移除的部分舍去,正数首位补0;负数补1;

mac

5>>1 == 2

正数右移动一位相当于除以2;

右移动n位,相当于除以2的n次方;

-1右移几位都是-1;

 

0 0

你感兴趣的课程

5万+浏览/ 1760学员/ 3.8评分
免费
5万+浏览/ 926学员/ 4.5评分
免费