【问题标题】:the octal representations of bytes range from 000 to 377?字节的八进制表示范围从 000 到 377?
【发布时间】:2014-01-03 22:23:03
【问题描述】:

我正在读一本名为“CODE”的书,在那里我读到了一句话“字节的八进制表示范围从 000 到 377”我不明白怎么做? 377 是从哪里来的?有人能解释一下吗提前谢谢。

【问题讨论】:

  • 0377 是 255 的八进制表示...
  • 你能解释一下吗,为什么使用十六进制而不是八进制数字系统八进制有什么问题?

标签: javascript php assembly


【解决方案1】:

八进制值 0377 表示十进制的 255,这将是单个字节的范围。

十六进制和八进制数之所以有用是因为在十六进制中,一个数字正好代表四位,而在八进制中,一个数字正好代表三位。这使得在处理标志时转换为二进制读取更容易,与十进制相比,您必须知道哪些数字代表哪个位,并进行一些计算。

如果您有一个任意位掩码,您可以一眼就看出使用十六进制或八进制设置了哪些位,这对于十进制数字来说并不那么容易。

【讨论】:

    【解决方案2】:

    八进制 377 是十进制的 255,这是一个字节的最高可能值。

    【讨论】:

    • 你能解释一下吗,为什么用十六进制而不是八进制数字系统八进制有什么问题?
    • 查看@Devolus 的好答案。
    【解决方案3】:

    今天a byte 实际上总是由 8 位组成。使用 8 位,您可以表示 2^8 (256) 个不同的值(通常为 0-255(无符号))。正如其他人已经解释的那样 255 == ff (base 16) == 255 (base 10) == 0377 (base 8) == 11111111 (base 2)。

    这个值以十六进制显示非常好,因为单个数字代表四位(因为有 16 (2^4) 个十六进制数字),这意味着两位十六进制数字总是适合一个字节。

    八进制数字系统几乎不再使用。曾经它更常见,因为一些计算机使用可被三整除的字长(如 in this wikipedia article on Octal 所解释的那样)。

    【讨论】:

      猜你喜欢
      • 2020-02-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-31
      • 2012-08-02
      • 2019-05-12
      • 2015-11-02
      • 2022-11-30
      相关资源
      最近更新 更多