Octal

Numeral systems by culture
Hindu-Arabic numerals
Western Arabic
Eastern Arabic
Khmer
Indian family
Brahmi
Thai
East Asian numerals
Chinese
Suzhou
Counting rods
Japanese
Korean
Mongolian 
Alphabetic numerals
Abjad
Armenian
Cyrillic
Ge'ez
Hebrew
Greek (Ionian)
Āryabhaṭa
 
Other systems
Attic
Babylonian
Egyptian
English
Etruscan
Mayan
Roman
Urnfield
List of numeral system topics
Positional systems by base
Decimal (10)
2, 4, 8, 16, 32, 64
1, 3, 9, 12, 20, 24, 30, 36, 60, more…

The octal numeral system, or oct for short, is the base-8 number system, and uses the digits 0 to 7. Numerals can be made from binary numerals by grouping consecutive digits into groups of three (starting from the right). For example, the binary representation for decimal 74 is 1001010, which groups into 001 001 010 — so the octal representation is 112.

In decimal systems each decimal place is a base of 10. For example:

\mathbf{74} = \mathbf{7} \times 10^1 + \mathbf{4} \times  10^0

In octal numerals each place is a power with base 8. For example:

\mathbf{112} = \mathbf{1} \times  8^2 + \mathbf{1} \times  8^1 + \mathbf{2} \times  8^0

By performing the calculation above in the familiar decimal system we see why 112 in octal is equal to 64+8+2 = 74 in decimal.

Octal is sometimes used in computing instead of hexadecimal.

Contents

Usage

By Native Americans

The Yuki language in California and the Pamean languages[1] in Mexico have octal systems because the speakers count using the spaces between their fingers rather than the fingers themselves[2].

In Europe

In 1716 King Charles XII of Sweden asked Emanuel Swedenborg to elaborate a number system based on 64 instead of 10. Swedenborg however argued that for people with less intelligence than the king such a big base would be too difficult and instead proposed 8 as base. In 1718 Swedenborg wrote a manuscript, which has not been published: "En ny rekenkonst som om vexlas wid Thalet 8 i stelle then wanliga wid Thalet 10" ("A new arithmetic (or art of counting) which changes at the Number 8 instead of the usual at the Number 10"). The numbers 1-7 are there denoted by the consonants l, s, n, m, t, f, u (v) and zero by the vowel o. Thus 8 = "lo", 16 = "so", 24 = "no", 64 = "loo", 512 = "looo" etc. Numbers with consecutive consonants are pronounced with vowel sounds between in accordance with a special rule.[3]

In fiction

In computers

Octal is sometimes used in computing instead of hexadecimal, perhaps most often in modern times in conjunction with file permissions under Unix systems (see chmod). It has the advantage of not requiring any extra symbols as digits (the hexadecimal system is base-16 and therefore needs six additional symbols beyond 0–9). It is also used for digital displays.

At the time when octal originally became widely used in computing, systems such as the IBM mainframes employed 24-bit (or 36-bit) words. Octal was an ideal abbreviation of binary for these machines because eight (or twelve) digits could concisely display an entire machine word (each octal digit covering three binary digits). It also cut costs by allowing Nixie tubes, seven-segment displays, and calculators to be used for the operator consoles; where binary displays were too complex to use, decimal displays needed complex hardware to convert radixes, and hexadecimal displays needed to display letters.

All modern computing platforms, however, use 16-, 32-, or 64-bit words, with eight bits making up a byte. On such systems three octal digits would be required, with the most significant octal digit inelegantly representing only two binary digits (and in a series the same octal digit would represent one binary digit from the next byte). Hence hexadecimal is more commonly used in programming languages today, since a hexadecimal digit covers four binary digits and all modern computing platforms have machine words that are evenly divisible by four. Some platforms with a power-of-two word size still have instruction subwords that are more easily understood if displayed in octal; this includes the PDP-11. The modern-day ubiquitous x86 architecture belongs to this category as well, but octal is almost never used on this platform.

The prefix or suffix customarily used to represent an octal number is "o" (i.e. o73), as binary and hexadecimal are represented by 'b' and 'h' or 'x' respectively, although 'q' is also seen as a way to make it more visually distinct from zero. Sometimes octal numbers are represented by preceding a value with a 0 (e.g. in Python 2.x or JavaScript 1.x - although it is now deprecated in both).

Conversion between bases

For more information and other bases, see Conversion among bases.

Decimal – Octal conversion

Method of consecutive divisions by 8

Is used to convert integer decimals to octals and consists in dividing the original number by the largest possible factor of 8 and successively dividing the remainders by successively smaller factors of 8 until the factor is 0. The octal number is formed by the quotients, written in the order of its obtention. for example convert the following to octal 75.8 solution:- 125/8^2=1 125-((8^2)*1)=61 61/8^1=7 61-((8^1)*7)=5 125(base10)=175(base8)

900/8^3=1

900-((8^3)*1)=388

388/8^2=6

388-((8^2)*6)=4

4/8^1=0

4-((8^1)*0)=4

4/8^0=4

900(base10)=1604(base8)

Method of consecutive multiplications by 8

Is used to convert a decimal fraction to octal. The decimal fraction is multiplied by 8, and the integer part of the result is the first digit of the octal fraction. The process is repeated with the fractionary part of the result, until it is null or within acceptable error parameter. Example: Convert 0.140625 to octal: 0.140625 x 8 = 1.125

0.125 x 8 = 1.0

Previous methods can be combined to convert decimal numbers with integer and fractionary parts.

If you want to convert decima number to other number system as hexadecimal, octal, binary etc. You must divide the number by the number system you converting to. For example decimal to hexadecimal:610

3050/16 = 190 rem 10 190/16 = 11 rem 14 11/16 = 0 rem 11 asw: BEA

remember when you write your answer you start from bottom to the top.

Octal – Decimal conversion

Use the formula:

\sum_{i=0}^n \left( a_i\times B^i \right).
Example

Convert octal 764 to decimal system:

7648 = 7 x 8² + 6 x 8¹ + 4 x 8° = 448 + 48 + 4 = 50010

For double digit numbers this method amounts to taking the first digit, multiplying it by 8 and then adding the second to get the total. Example: 65 in octal would be 53 in decimal (6*8 + 5 = 53)

Octal – Binary Conversion

To convert octals to binaries, replace each digit of octal number by its binary correspondent. Example: Convert octal 1572 to binary.

1 5 7 2 . 40 = 001 101 111 010 = 001101111010

Binary – Octal conversion

The process is the reverse of previous algorithm. The binary digits are grouped 3 by 3, from the decimal point to the left and to the right. Then each trio is substituted by the equivalent octal digit.

For instance, conversion of binary 1010111100 to octal:

001 010 111 100
1 2 7 4

Thus 10101111002 = 12748

Octal – Hexadecimal conversion

The conversion is made in two steps using binary as an auxiliary base. Octal is converted to binary and then to hexadecimal, grouping digits 4 by 4, which correspond each to an hexadecimal digit.

For instance, convert octal 1057 to hexadecimal:

To binary:
1 0 5 7
001 000 101 111
To hexadecimal:
0010 0010 1111
2 2 F

Thus 10578 = 22F16

Hexadecimal – Octal conversion

Reverse the previous algorithm.

See also

References

  1. Avelino, Heriberto (2006), "The typology of Pame number systems and the limits of Mesoamerica as a linguistic area", Linguistic Typology 10: 41-60, http://linguistics.berkeley.edu/~avelino/Avelino_2006.pdf 
  2. Marcia Ascher. "Ethnomathematics: A Multicultural View of Mathematical Ideas". The College Mathematics Journal. Retrieved on 2007-04-13.
  3. Donald Knuth, The Art of Computer Programming

External links