【发布时间】:2013-11-02 16:38:03
【问题描述】:
我是一个学习c#的初学者。 我编写了一种方法,可以将两位整数转换为 16 位序列
// takes input from user and convert it
private void Button_Click(object sender, RoutedEventArgs e)
{
string input = key.Text;
string mykey = "";
foreach (var item in input)
{
mykey += Binary(item);
}
key.Text = mykey;
}
private string Binary(Char ch)
{
string result = string.Empty;
int asciiCode;
char[] bits = new char[8];
asciiCode = (int)ch;
result = Convert.ToString(asciiCode, 2);;
bits = result.PadLeft(8, '0').ToCharArray();
return string.Join("",bits);
}
这可能有点复杂,但它正在工作。但是我的主要问题是我想反转这个过程:即从 0011000100110010 之类的序列中,我应该检索 12 的 int。有人可以帮助我走上正确的轨道吗?
非常感谢任何帮助
【问题讨论】:
-
谢谢,但也许我的问题不是很清楚。我想做相反的事情,我有我的二进制字符串,我想取回一个 int 所以,表格 0011000100110010 我想得到 12。
-
是你要找的吗? int output = Convert.ToInt32(input, 2);
-
我试过了,但似乎不起作用
Additional non-parsable characters are at the end of the string.是错误。我认为这与我填充字符串以获得 16 位的事实有关...... -
12的二进制表示“0011000100110010”在什么世界?
标签: c# binary type-conversion