在什么情况下使用八进制基数?

Bob*_*Bob 33 language-agnostic octal

我已经看到二进制和十六进制经常使用但从未八进制.然而,八进制在某些语言中使用它有自己的约定(即,指示八进制基数的前导0).何时使用八进制?使用八进制或八进制的一些典型情况会更容易推理吗?或者仅仅是品味问题?

ndi*_*dim 43

当一个字中的位数是3的倍数时使用八进制.例如,具有18位字大小的古代系统,具有9位字节的系统,或具有9位或12位的unix文件许可.

如果你的单词中的位数是4的倍数,请务必使用十六进制.

  • 目前为止提供(恕我直言)最佳答案的+1. (2认同)

Tho*_*mas 21

Octal用作表示UNIX系统上的文件权限的简写.例如,文件模式rwxr-xr-x将是0755.

  • @Neil不,因为那些会给你不同的数值 - "0x755"是二进制的"011101010101",而"0755"是"111101101".然后,前者在unix文件权限中意味着完全不同的东西. (4认同)
  • 但是因为这些值只是从0到7,所以它在技术上不同于十进制或十六进制吗? (2认同)

Ste*_*eel 7

八进制被更频繁使用的主要原因之一是,在你的头脑中在八进制和二进制之间转换比十六进制到二进制更容易:你只需要记住 8 个八进制数字(0-7)的二进制表示。

在过去,调试意味着从一排 LED 读取寄存器内容,或者使用一组切换开关输入数据,这是一个大问题。许多早期计算机的面板将 LED 和开关分成三个一组,以方便实现这一点。

然而,十六进制开始胜出,因为字大小是 8 位字节的倍数开始胜出,并且读取和输入二进制数据的需要变得不必要(使用控制台文本 UI 和后来的 GUI 调试器)。


Mat*_*nen 6

当语法是从某个平台上可能有意义的时代遗留下来的时候使用八进制(系统字并不总是8位的倍数).如今,hex是可以使用的东西.


zaf*_*zaf 5

没有想到这个,但数字显示!

其他一些用途来自:http: //en.wikipedia.org/wiki/Octal