BitArray bits=new BitArray(16); // size 16-bit
有bitArray,我想16位從這個數組轉換爲無符號整數在C#中, 我不能使用CopyTo用於對轉換,有沒有其他的方法從16-bit
轉換爲UInt16
?從BitArray轉換爲16位無符號整數在C#
BitArray bits=new BitArray(16); // size 16-bit
有bitArray,我想16位從這個數組轉換爲無符號整數在C#中, 我不能使用CopyTo用於對轉換,有沒有其他的方法從16-bit
轉換爲UInt16
?從BitArray轉換爲16位無符號整數在C#
你可以這樣說:
uint16 res = 0;
for (int i = 0 ; i != 16 ; i++) {
if (bits[i]) {
res |= (uint16)(1 << i);
}
}
該算法將檢查至少16位顯著一個接一個,並使用按位或操作來設定結果的對應位。
您可以遍歷它並組成值本身。
var bits = new BitArray(16);
bits[1] = true;
var value = 0;
for (int i = 0; i < bits.Length; i++)
{
if (lBits[i])
{
value |= (1 << i);
}
}
您可以檢查此另一個anwser已經在這個問題的計算器:
這個例子使用COPYTO,他不能像問題 –
中提到的那樣使用它你說得對,對Mauricio抱歉。 Lo siento ... – yosbel
RES | =(1 <<我);無法將整數(i)轉換爲UInt16(res)? – user2922938
@ user2922938糟糕,我忘了添加一個演員。這應該在編輯之後起作用。 – dasblinkenlight
PLZ我是初學者在C#你能解釋更多,什麼是(演員)? – user2922938