首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我可以嵌入一个二进制数字而不是十六进制数字吗?

我可以嵌入一个二进制数字而不是十六进制数字吗?
EN

Stack Overflow用户
提问于 2011-01-07 21:45:18
回答 4查看 616关注 0票数 3

如何在代码中编写二进制数而不使用

代码语言:javascript
运行
复制
Convert.ToInt16("00001000", 2);

我希望它非常快,我不想从字符串中读取数字。有没有更快的方法?

EN

Stack Overflow用户

发布于 2011-01-07 22:42:25

通常,为了避免任何愚蠢的错误,当我定义一个“flag”枚举时,我会使用位移位运算符来指定值,然后让编译器找出它。例如:

代码语言:javascript
运行
复制
[Flags]
enum FlagsEnum
{
    Zero = 0,
    One = 1 << 0,
    Two = 1 << 1,
    Four = 1 << 2,
    Eight = 1 << 3,
    Sixteen = 1 << 4,
    ThirtyTwo = 1 << 5,
    SixtyFour = 1 << 6,
    OneHundredTwentyEight = 1 << 7,
    // etc.
}

当我不可避免地对枚举进行重新排序和向枚举中添加/删除值时,我发现这种样式更容易维护。

因此,在您的示例中,可以将二进制值"00001000“指定为(1 << 3)。但是,如果你有更复杂的东西,比如"00101000",那么它就不能很好地工作;你可以像(1 << 5) | (1 << 3)这样做,但对于这种情况,我只需要指定十六进制的值。

票数 1
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4626053

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档