<分区>
根据我的理解,数字中的八进制数字映射到 3 位段,永远不会真正表示 2^n
长度的二进制字符串。
出于好奇,这何时/为什么/如何有用? :-)
..如果架构中单词的主要表示的基数是 2 的质数(!) 次方,至少确保它是甚至 ;-)。
标签 c++ c octal representation
<分区>
根据我的理解,数字中的八进制数字映射到 3 位段,永远不会真正表示 2^n
长度的二进制字符串。
出于好奇,这何时/为什么/如何有用? :-)
..如果架构中单词的主要表示的基数是 2 的质数(!) 次方,至少确保它是甚至 ;-)。
最佳答案
八进制可以精确表示任意长度的二进制字符串。 虽然确实有 8 位字节和字节寻址, 十六进制似乎更自然。然而,从历史上看……
很多机器有 36 位字,其中八进制产生了很多 感觉,和
在 PDP-11(第一个 C 编译器运行的平台)上, 机器指令分为 3 个位组:高位 位来标记操作是字节还是字,然后 一个 3 位操作码和两个 6 位地址,第一个 3位寻址方式,后3位寄存器 参与。
在C刚被发明的时候,八进制大概是 比十六进制更频繁地使用,所以作者 为其提供的语言。 (我不记得实际看过它 然而,在最近的代码中使用了很长时间。)
关于c++ - 谁需要八进制表示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22332815/