我更新了一些舊代碼是用一些較新的應用程序兼容,我碰到下面的代碼來:轉換短布爾陣列
'Display I/O Status
IOState = get_io_status()
For TestBit = 0 To 11
If 2^TestBit And IOState Then
T_IOState(TestBit).BackColor = System.Drawing.ColorTranslator.FromOle(&HFF00)
Else
T_IOState(TestBit).BackColor = System.Drawing.ColorTranslator.FromOle(&HFF)
End If
Next TestBit
這是以前的程序員是如何存儲不同布爾值(以簡短)。爲了我們新軟件的目的,我寧願將它們存儲在一個數組中。
我怎樣才能把布爾變換成數組?
有人能請解釋一下什麼是這個代碼發生與
如果2^TestBit而IOState
我不明白它是如何工作
我認爲這個使用非常有效的按位運算符的代碼可以滿足Brian Kernighan(http://en.wikiquote.org/wiki/Brian_Kernighan)的一句名言:「調試比編寫代碼困難一倍。因此,如果您儘可能巧妙地編寫代碼,那麼根據定義,您的智能不足以調試它。「 –