【问题标题】:String of binary to integer二进制到整数的字符串
【发布时间】:2013-08-24 18:49:36
【问题描述】:

我有一个包含 0 和 1 的字符串。我想知道 c# 中是否有任何方法可以将其转换为 Uint32 。我知道如何在没有任何方法的情况下做到这一点,但我只想知道是否有任何方法可以自动做到这一点?

【问题讨论】:

  • Convert.ToUInt32(...)
  • 这个调用会变成例如10000001000000 而不是 128。您必须使用允许您指定数字基数的重载方法,因此调用将是 Convert.ToInt32("10000000", 2)(请注意,Convert.ToUInt32 不提供重载来指定数字的基数)。

标签: c# function methods


【解决方案1】:
string s = "0101";
uint i = Convert.ToUInt32(s, 2); //<--5

【讨论】:

    【解决方案2】:

    尝试使用Convert.ToUInt32 方法。有一个重载允许您指定要转换的基数

    uint x = Convert.ToUInt32("01010", 2);
    

    这是该成员的 MSDN 页面

    【讨论】:

      【解决方案3】:

      你可以使用Convert.ToInt32 Method (String, Int32)重载。

      指定基数中数字的字符串表示形式转换为 一个等效的 32 位有符号整数。

      喜欢;

      uint i = Convert.ToUInt32("010101", 2); //21
      

      这里是DEMO

      (010101)2 = 20 * 1 + 21 * 0 + 22 * 1 + 23 * 0 + 24 * 1 + 25 * 0 = 21

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-06-12
        • 2016-02-26
        • 1970-01-01
        • 1970-01-01
        • 2015-11-21
        相关资源
        最近更新 更多