2013-08-22 112 views
2

我有一个字符串,其中包含0和1.我想知道是否有任何方法在C#中转换此Uint32。我知道如何做到这一点,没有任何方法,但我想知道是否有任何方法自动执行?二进制字符串到整数

+2

'Convert.ToUInt32(...)' – leppie

+1

这个调用会打开eg '1000000'到'1000000'而不是'128'。你必须使用重载的方法,它允许你指定数字库,所以调用将是'Convert.ToInt32(“10000000”,2)'(注意'Convert.ToUInt32'不提供重载来指定数字的基数)。 –

+0

[将二进制字符串转换为整数]的可能重复(http://stackoverflow.com/questions/9149728/convert-binary-string-int-integer) – Nolonar

回答

2

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

若干的在指定基字符串表示形式转换到 等效的32位带符号整数。

赞;

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

这里是DEMO

(010101) = 2 * 1 + 2 * 0 + 2 * 1 + 2 * 0 + 2 * 1 + 2 * 0 = 21

4
string s = "0101"; 
uint i = Convert.ToUInt32(s, 2); //<--5 
7

尝试使用Convert.ToUInt32方法。有过载,它允许你指定基数要从

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

转换这里是MSDN页面,该成员