Я хочу взять первое 10-битное значение значения UInt16. Я пытался;Как я могу получить первые 10 бит типа UInt16?
x = (x & 0x00001111111111)
Но это дает мне error : Cannot convert type 'int' to 'ushort'.
Я хочу взять первое 10-битное значение значения UInt16. Я пытался;Как я могу получить первые 10 бит типа UInt16?
x = (x & 0x00001111111111)
Но это дает мне error : Cannot convert type 'int' to 'ushort'.
Как насчет, так как 0x3FF в двоичном виде 0000 0011 1111 1111
x = (UInt16)(x & 0x3FF)
Вы можете попробовать так: -
UInt16 val1 = 8;
UInt16 value = (UInt16)(val1 << 6);
или просто произведите его следующим образом: -
x = (UInt16)(x & 0x3FF)
Спасибо Рахул, второе решение такое же, как и ниже. Работало. – mtpc
@mtpc: - Добро пожаловать. Я рад, что это сработало! –
Вы пропустили кастинг изначально;) –
Спасибо за подсказку – Scoregraphic
Добро пожаловать! –