【问题标题】:2 bits can store 4 different values?2位可以存储4个不同的值?
【发布时间】:2013-03-16 21:50:07
【问题描述】:

learncpp 我注意到它说 2 位可以存储 4 个不同的值,它们在表中给出了一个示例。我对他们的意思有些困惑。我最初的解释是 2 位只能存储 2 个值(即只有 0 和 1,因为二进制数字的定义是 0 或 1)。但是在查看表格后,它们是否意味着两位可以存储 4 种不同的值组合(即 00 01 10 11)。

【问题讨论】:

  • 研究基 X 编码(其中 X 可以是 2、10、16 等)。这就像 8 年级的数学。
  • 删除了 C++ 标签,因为它与问题无关。
  • @MichaelPetrotta 完全同意。更新了原始问题以帮助抵消。这是许多初学者会问的一个有效问题,而且措辞相当清楚。

标签: binary bits


【解决方案1】:

它们是否意味着两个位可以存储 4 种不同的值组合(即 00 01 10 11)。

是的。每个位的唯一“组合”(实际上是排列)代表一个不同的值。

这与您习惯的计数系统没有什么不同:十进制系统,除了每个数字有两种可能的状态(0 和 1)之外,它们有十种可能的状态(0、1、...、8 , 9)。在二进制(以 2 为底)中,两位数字可以表示四个不同的值(2 ^ 2),在十进制(以 10 为底)中,两位数字可以表示 100 个不同的值(10 ^ 2)。

【讨论】:

    【解决方案2】:

    确切的意思是:两个位存储值 0、1、2 和 3,它们的二进制编码分别为 00、01、10 和 11。

    【讨论】:

    • 这些编码也可以分别为 0、1、-2 和 -1。
    • 没有人说它是签名的。
    • @greyfade 也没有人说它是无符号的(或者甚至说它是连续值——很可能是 3、42、-12 和 37)。这只是 4 个不同的值,但我们不知道它们。
    【解决方案3】:

    要计算出你可以做 base^length 的排列数,2^2 是 4。在 2 位中可能有 4 个排列。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-04-14
      • 1970-01-01
      • 2018-02-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多