【问题标题】:C# Save user input as binaryC#将用户输入保存为二进制
【发布时间】:2015-12-18 10:14:49
【问题描述】:

所以我刚刚学会了如何使用 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());

【问题讨论】:

  • Binary 是什么意思?你的意思是string
  • ^ 你不会从控制台读取二进制文件,你只会得到字符串/字符。
  • 来自键盘的输入总是一个字符串,所以不,用户不能以二进制形式插入数据,但您可以保存字符串并稍后转换它们,为此您可以解析数字字符串,将它们放在一个字符串数组中,然后使用 File.WriteAllLines(file, collection) 将所有字符串写入磁盘,然后您可以读取文件并创建数字。
  • 我的意思是在 int name = int.Parse(Console.ReadLine());我知道它不存在,只是为了给你一个我正在寻找的东西的想法。
  • 我在一个基本的 c# 课程中,并且有一个创建三个基本程序的任务,一个将用户输入从十进制转换为二进制和十六进制,一个将二进制转换为十进制和十六进制,一个转换十六进制转二进制和十进制。如果我省略了用户应该输入数字但应该在程序中的部分,我可以做到这些。

标签: c# binary decimal converter


【解决方案1】:

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

如果你真的想创建一个二进制数类型,你需要定义一个隐式或显式转换为 int 的结构,但这似乎对你的任务来说是不必要的。但是,这里的关键点是 int 与基本无关 - 它是由基本字符串中的字符串表示的值。

【讨论】:

  • 谢谢你的回答队友:)
【解决方案2】:

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

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

string binary = Console.ReadLine();

并且用户需要输入“二进制”,例如0100。再次,我将二进制放在引号中,因为它仍然只是一个字符串,而不是数字。如果您希望用户输入一个数字,例如 4 并将其存储为 0100 的字符串,只需执行以下操作:

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

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

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

【讨论】:

  • 感谢您的回答,真的解决了我对此事的困惑:)
猜你喜欢
  • 1970-01-01
  • 2013-12-04
  • 2021-08-17
  • 2020-06-07
  • 1970-01-01
  • 2011-04-14
  • 1970-01-01
  • 1970-01-01
  • 2017-03-03
相关资源
最近更新 更多