【问题标题】:Convert string representation of binary number to int in C#在C#中将二进制数的字符串表示形式转换为int
【发布时间】:2012-12-25 05:04:03
【问题描述】:

我有一个由八个 1 和 0 组成的字符串,中间有空格,例如“1 0 0 1 1 0 1 0”,我想将其转换为 int。有没有一种简单的方法可以做到这一点?我觉得某种 linq 解析可以做到这一点,但我什至不知道一旦找到这些字符该怎么处理。

【问题讨论】:

  • 澄清一下,字符串1 0 0 1 1 0 1 0 应该被解析为两位,四位值:1001 和1010。然后转换为十六进制。对吗?

标签: c# string binary type-conversion


【解决方案1】:

您不需要任何 LINQ。
Convert.ToInt*() 采用可选的 fromBase 参数,该参数必须为 2、8、10 或 16。

Convert.ToInt32("1 0 0 1 1 0 1 0".Replace(" ", ""), 2)

【讨论】:

  • 嗯,这使得这是一个非常简单的问题,然后哈哈。非常感谢!
【解决方案2】:

@SLaks 的答案的替代方案(但仅用于解析十六进制)是

Int32.Parse(hexString, System.Globalization.NumberStyles.HexNumber);

不过,没有二进制的等价物,所以他是一个更好的通用答案。

【讨论】:

  • 我错了。删除了之前的评论。
猜你喜欢
  • 2011-01-25
  • 1970-01-01
  • 2016-07-13
  • 2011-03-27
  • 2015-04-23
  • 2021-02-12
  • 1970-01-01
  • 2014-11-28
相关资源
最近更新 更多