比方說,我有:我可以對byte []執行按位操作嗎?
byte[] data = new byte[] { 1, 212, 29, 144 };
我能想出做位與&是第一個字節[]轉換爲uint的唯一方法:
if ((BitConverter.ToUInt32(data,0)) & 0x7) == 1)
{
//If the last 3 bits are ...111, then do something
}
這看起來很醜。有沒有更好的方式來執行按位操作的字節[]而不必轉換爲UInt?謝謝。
'data [0]&0x7' does not work? –
@SuperPeanut data [3]可以工作,因爲我想比較這個例子中的最後3位。但是,我正在尋找一種解決方案,可以對多字節值執行AND操作。 再舉一個例子,我希望能夠做這樣的事情: 如果(數據和爲0x80000000) {// 做一些真實的事情 } –
不幸的是,方案只能夠比較的東西都是一樣的。要麼你將數據轉換成'UInt32',要麼將比較器('0x80000000')轉換成位數組,並對每個項目進行比較...... –