13

16 ビット整数 (ushort / UInt16) でビットごとの左シフトを実行する必要がありますが、C# のビットごとの演算子は int (32 ビット) にのみ適用されるようです。ushort で << を使用する方法、または少なくとも簡単な回避策で同じ結果を得るにはどうすればよいですか?

4

1 に答える 1

16

シフトした後、結果の値をushortにキャストし直します。

ushort value = 1;
ushort shifted = (ushort)(value << 2);
于 2010-09-29T07:34:11.993 に答える