請問各位<br>如何計算一個BYTE內有幾個BIT是1<br> 是否有指令可用<br>
我是用一個陣列去存,當然還有別的方式..你參考一下吧 使用前要將a,buf(7)的內容都清掉.. dim Tmp as byte,a as integer,buf(7) as byte a = 0 erase buf Do While Tmp / 2 > 0 Buf(a) = Tmp Mod 2 Tmp = Int(Tmp / 2) a = a + 1 Loop
上述是將Tem解成二進位至Buf()內尚須計算Buf(0)-Buf(7)內1的個數 但若要解的Byte有2k的陣列恐會花很多時間 是否有其他方法呢? 謝謝
1K=1024Byte 1Byte=8bit
VB 沒有比較方便的方式存取 bit ,你就認了 如果嫌慢,最快的方式是建表查詢,開一個 0 ~ 255 的陣列,每個位置存放 1 的個數,這樣最快... 說不定建表的過程中會發現公式也不一定。
謝謝