1. 程式人生 > >BIT的淺談,簡單理解

BIT的淺談,簡單理解

轉部落格園(地址):http://www.cnblogs.com/justforgl/archive/2012/07/27/2612364.html 

先看一下這個圖,可以找到一定的規律:

  1. 陣列A的下標 等於  這一列上最高的部分陣列C的下標
  2. 滿二叉樹的每一個結點對應陣列A中的一個元素

 

A[1] = C[1]

A[2] = C[1] + C[2]

A[3] = C[3]

A[4] = C[1] + C[2] + C[3] + C[4]

A[5] = C[5]

A[6] = C[5] + C[6]

A[7] = C[7]

A[8] = C[1] + C[2] + C[3] + C[4] + C[5] + C[6] + C[7]  + C[8]

 而確定C有幾項,又該如何確定?

感覺太巧妙啦。居然可以利用二進位制來確定項數

從1 ~ 8的二進位制列舉

0001     項數1           0個0        2^0

0010     項數2           1個0        2^1

0011     項數1            0個0       2^0

0100     項數4            2個0       2^2

0101     項數1            0個0       2^0

0110      項數2            1個0      2^1

0111      項數1             0個0      2^0

1000      項數8            3個0       2^3

 

2 ^ x = i & (- i)

 

再續。。。。。。。。