C# 将用户输入保存为二进制

C# Save user input as binary

所以我刚刚学会了如何使用 Convert.ToString(int , 2);

将整数转换为二进制

现在我可以使用它了,所以请用户提供一个号码,然后用

保存它
int name = int.Parse(Console.ReadLine()); 

然后用

转换
Convert.ToString(name , 2); 

获取二进制数。

但我想知道用户是否可以用二进制输入它然后我可以按原样保存它,稍后将用户输入转换为十进制

Convert.ToInt32(binary,2).ToString();

我知道这不正确,但只是为了让您了解我在这里寻找的是一个示例,您可以使用二进制代替 int。喜欢

binary name = binary.Parse(Console.ReadLine());

您将从 Console.ReadLine 读取字符串输入 - 但您可以只使用 Convert.ToInt32(val, 2) 将基数为 2 的字符串转换为数字。

如果你真的想创建一个二进制数类型,你将需要定义一个隐式或显式转换为 int 的结构,但这对于你的任务来说似乎是不必要的。但是,他们这里的关键点是 int 是一种不可知的基础——它是由一个字符串表示的值,无论如何。

我认为您有点困惑 - 当您 "convert int's to binary" 时,您实际上所做的只是将 int 转换为 string 二进制表示。它实际上不是二进制 - 它只是一个包含代表二进制数的 1 和 0 的字符串。

要实现你的目标,你需要做的就是:

string binary = Console.ReadLine();

而用户需要输入"binary",例如0100。同样,我将二进制放在引号中,因为它仍然只是一个字符串,而不是数字。如果您希望用户输入一个数字,例如 4 并将其存储为 0100 的字符串,只需执行:

string binary = Convert.ToString(int.Parse(Console.ReadLine()), 2);

将读取用户输入 (4),将其转换为整数,然后将其转换为字符串二进制表示形式 (0100)。

要将其读回 int,请执行 Convert.ToInt32(binary, 2);