【问题标题】:Binary and Decimal converting [duplicate]二进制和十进制转换[重复]
【发布时间】:2019-11-09 22:30:40
【问题描述】:

将 0.375 转换为二进制数时,我得到 0.011,这不是错误的吗?我知道二进制数据只包含 0 或 1 但不包含点 (.)!

【问题讨论】:

  • 对我来说似乎是正确的。位权重为4 2 1 . 0.5 0.25 0.125
  • @Ahmad 一个典型的二进制整数只有 1 和 0,但是浮点二进制有标准,根据标准可能有也可能没有小数点。
  • @Ahmad 它们包含的唯一数字是01。它们仍然包含一个二进制点,即使是整数。例如。二进制整数101 隐含为101.0。没有小数位,二进制数表示整数,就像没有小数位的十进制数一样。因此,在将0.375 转换为二进制时,它必须 包含小数位。否则它将是一个整数,这显然是不正确的。
  • 实际上是radix point。如果你坚持吹毛求疵,至少要做好。
  • @ChristianGibbons 什么都没有。这不是一道编程题,而是一道基础数学题。

标签: c binary decimal


【解决方案1】:

当将 0.375 转换为二进制数时,我得到 0.011,这不是假的吗?

实际上没有。

我知道二进制数据只包含 0 或 1 而不是点 (.)!

二进制数确实只包含 0 或 1,因为它们是以 2 为底数。以 2 为底数意味着您可以用任何数字表示的最大数是 2^1 - 1 或 1。但这与表示小数部分无关以 2 为基数。数字的小数部分表示在实际称为a radix point 的“点”之后。这适用于所有数字基数。

【讨论】:

    猜你喜欢
    • 2019-01-27
    • 1970-01-01
    • 1970-01-01
    • 2014-10-30
    • 2020-06-27
    • 2018-01-20
    • 1970-01-01
    • 2023-04-05
    • 2013-06-13
    相关资源
    最近更新 更多