将 Binary 转换为 int 而不使用 Convert.ToInt32
我需要在 C# 中将二进制 10100101
转换为整数,而不使用 Convert.ToInt64(bin,2),我正在使用 .net 微框架。当我使用 int i = Convert.ToInt32(byt, 2);
时,会抛出异常,并显示以下相当无用的消息:
#### Exception System.ArgumentException - 0x00000000 (1) ####
#### Message:
#### System.Convert::ToInt32 [IP: 000d] ####
#### TRNG.Program::loop [IP: 0047] ####
#### TRNG.Program::Main [IP: 0011] ####
A first chance exception of type 'System.ArgumentException' occurred in mscorlib.dll
An unhandled exception of type 'System.ArgumentException' occurred in mscorlib.dll
I need to convert binary 10100101
to an integer in C# without using Convert.ToInt64(bin,2), I'm working with the .net micro framework. When I use int i = Convert.ToInt32(byt, 2);
an exception is thrown with the rather unhelpfull message of:
#### Exception System.ArgumentException - 0x00000000 (1) ####
#### Message:
#### System.Convert::ToInt32 [IP: 000d] ####
#### TRNG.Program::loop [IP: 0047] ####
#### TRNG.Program::Main [IP: 0011] ####
A first chance exception of type 'System.ArgumentException' occurred in mscorlib.dll
An unhandled exception of type 'System.ArgumentException' occurred in mscorlib.dll
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
比 Femaref 的选项稍快,因为它不需要讨厌的方法调用,并且使用 OR 而不是 ADD 只是为了好玩:
您可能需要:
只是为了哈哈,这里有一个 LINQ 版本:
或者更简洁:
Slightly faster than Femaref's option, as it doesn't require a pesky method call, and uses OR instead of ADD just for fun:
You may want to:
Just for LOLs, here's a LINQ version:
Or neater yet:
一般来说:
in general: