5、算法、位运算符

1、算法:
  通俗定义:
    解题的方法和步骤
  狭义定义:
    对存储数据的操作
    对不同的存储结构,要完成某一个功能所执行的操作是不一样的

  比如:
  要输出数组中所有的元素的操作和要输出链表中所有元素的操作肯定是不一样的

  这说明:
    算法是依附于存储结构的
    不同的存储结构,所执行的算法是不一样的

  广义定义:
      广义的算法也叫泛型
      无论数据是如何存储的,对该数据的操作都是一样的

2、位运算符

& : 按位与  (&&: 逻辑与)

|   : 按位或 ( ||  :逻辑或)

~  : 按位取反            ~i就是把i变量所有的二进制位取反

^  :按位异或

<<:按位左移     i<<3表示把i的所有二进制位左移3位,右边补零;左移n位相当于乘以2的n次方,前提是数据不能丢失

>>:按位右移      i>>3表示把i的所有二进制位右移3位,左边一般是0,当然也可能补1;右移n位相当于除以2的n次方,前提是数据不能丢失

        A)i=i*8;B)i=i〈<3;

        A) i=i/8;   B)i=i>>3;

       上述语句中,语句B执行的速度更快

原文地址:https://www.cnblogs.com/zh-xiaoyuan/p/12643718.html