【发布时间】:2011-04-18 16:32:12
【问题描述】:
我需要对 16 位整数(ushort / UInt16)执行按位左移,但 C# 中的按位运算符似乎仅适用于 int(32 位)。如何在 ushort 上使用
【问题讨论】:
标签: c# bit-manipulation bitwise-operators 16-bit
我需要对 16 位整数(ushort / UInt16)执行按位左移,但 C# 中的按位运算符似乎仅适用于 int(32 位)。如何在 ushort 上使用
【问题讨论】:
标签: c# bit-manipulation bitwise-operators 16-bit
在移位后将结果值转换回 ushort:
ushort value = 1;
ushort shifted = (ushort)(value << 2);
【讨论】:
<< 运算符,value 是否会隐式转换为 uint?
int 正如@driis 所说。另请注意,在这种情况下,以及许多类似的情况下,结果都是一样的。