Octal

From Wikipedia, the free encyclopedia

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

The octal numeral system, or oct for short, is the base-8 number system, and uses the digits 0 to 7.

Octal 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.

Octal is sometimes used in computing instead of hexadecimal.

Contents

[edit] Usage

[edit] By Native Americans

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

[edit] In Europe

Donald Knuth wrote in his book The Art of Computer Programming that King Charles XII of Sweden was the inventor of octal in Europe. In 1716 the king 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-10 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.

[edit] In fiction

The fictional alien felinoid species Kilrathi of the Wing Commander universe, count in octal, since their paws have 4 toes instead of 5.

The Octospider species of Rendezvous with Rama and the computer game RAMA use a colour code based on octal system, and its comprehension is a puzzle of the game scenario.

The Alterans from Stargate SG-1 used octal, even though they had ten fingers. It's possible that they counted the gaps between each finger, ignored the thumb on each hand, or used the thumb as a base-2 counter (as on an abacus) allowing them to count up to 30 (24 in decimal) on their hands.

The satirist Tom Lehrer famously remarked in his song parodying new math that "base 8 is just like base 10... if you're missing two fingers."

In the first-person shooter Prey, numerical codes to open doors are entered in octal.

The Tau race in the Warhammer 40k Universe use the octal system.

[edit] 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).

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.

The prefix customarily used to represent an octal number is 0 (e.g. 073).

[edit] Conversion between bases

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

[edit] Decimal – Octal Conversion

[edit] Method of consecutive divisions by 8

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


900/8^3(512)=1 900-1*512=388 388/8^2(64)=6 388-6*64=4 4/8^1=0 4-0*8=4 4/8^0=4 900(base10)=1604(base8)

[edit] 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.

[edit] Octal – Decimal Conversion

Use the formula:

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

Example: Convert octal 764 to decimal system. 764 (base 8) = 7 x 8² + 6 x 8¹ + 4 x 8° = 448 + 48 + 4 = 500 (base 10)

[edit] 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 = 001 101 111 010

[edit] 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

[edit] 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

[edit] Hexadecimal – Octal Conversion

Reverse the previous algorithm.

[edit] See also

[edit] External links