如何获得前10位的UInt16类型?

时间:2014-02-21 07:13:45

标签: c#-4.0 casting

我想获取UInt16值的前10位值。我试过了;

x = (x & 0x00001111111111 )

但它给了我一个error : Cannot convert type 'int' to 'ushort'.

2 个答案:

答案 0 :(得分:0)

如何,因为二进制中的0x3FF是0000 0011 1111 1111

x = (UInt16)(x & 0x3FF)

答案 1 :(得分:0)

您可以尝试这样: -

UInt16 val1 = 8; 
UInt16 value = (UInt16)(val1 << 6);

或简单地将其投射如下: -

x = (UInt16)(x & 0x3FF)