如何在 C# 中设置 ushort 的最左边和最右边的位
本文关键字:左边 右边 ushort 设置 | 更新日期: 2023-09-27 18:32:01
我需要编码enum(eration),它可以转换为ushort数字并返回。出于某种原因,我需要处理位(而不是字节)。
[Flags]
public enum XFlags : ushort//word
{
None = 0,
Sequenced = "option enabled if LEFTmost bit is == 1",
Extra = "option enabled if RIGHTmost bit is == 1"
};
我的问题是我不知道如何指定位。此外,我实际上需要使用[标志]功能,为标志变量使用几个标志。所以使用这两个标志应该给我(ushort)位1000000000000001?
这可能吗?
试试这个(它基本上正是你在代码中表达的,变成了ushort
):
[Flags]
public enum XFlags : ushort//word
{
None = 0,
Sequenced = 0x8000,
Extra = 0x0001
}
现在将XFlags.Sequenced
与XFlags.Extra
结合起来,您最终会得到一个ushort
,设置了最左边和最右边的位。