Octal

From Free net encyclopedia

(Redirected from Base 8)

Template:Table Numeral Systems The octal numeral system 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 1 001 010 — so the octal representation is 112.

Octal is sometimes used in computing instead of hexadecimal.

Contents

Usage

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

Conversion between bases

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

Decimal – Octal Conversion

Method of consecutive divisons 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.

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.

Octal – Decimal Conversion

Use the formula:

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

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)

Octal – Binary Conversion

To convert octals em 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

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 1010111100bin = 1274oct

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 1057oct = 22Fhex

Hexadecimal – Octal Conversion

Reverse the previous algorithm.

See also

External links

de:Oktalsystem es:Sistema octal eo:Okuma sistemo fr:Système octal ko:팔진법 he:בסיס אוקטלי it:Sistema numerico ottale nl:Octaal ja:八進記数法 no:Åttetallsystemet pl:Ósemkowy system liczbowy pt:Sistema octal ru:Восьмеричная система счисления th:เลขฐานแปด zh:八进制