【问题标题】:Why direct binary input/output is not allowed in C? [closed]为什么在 C 中不允许直接二进制输入/输出? [关闭]
【发布时间】:2014-05-09 20:50:41
【问题描述】:

我们可以使用 scanf 输入十进制、八进制和十六进制数。我们可以使用 printf 输出十进制、八进制、十六进制。为什么不是二进制数呢?为什么他们被排除在外?

【问题讨论】:

  • 排除base 6和base 51的原因相同吗?
  • 绝不是“不允许”;你可以自己编码。它是关于“这是否会对足够多的人证明其包含在图书馆中的合理性有很大帮助”......这个例子的答案是“否”。
  • 查找strtol,它在标准库中。论据之一是数字系统的基数。

标签: c


【解决方案1】:

因为任何一个称职的程序员都可以轻松地进行二进制数的输出和输入,所以它太冗长了,而十六进制同样适合标志和简单的转换?

【讨论】:

  • 这是支持论点的原因。肉很冗长,功能蠕变,并且已经包含人类可以轻松转换的格式。顺便说一句:许多人认为包括八进制是一个严重的错误。它很少被有意使用。
  • 相信八进制在在新生 C 的时代比十六进制使用得更多。十六进制是块中的新手,也是成功的功能蔓延的一部分。我同意八进制今天的用途有限。
猜你喜欢
  • 1970-01-01
  • 2018-11-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多