# Documentation/Calc Functions/OCT2BIN

TDF LibreOffice Document Liberation Project Community Blogs Weblate Nextcloud Redmine Ask LibreOffice Donate

## Function name:

OCT2BIN

## Category:

Add-in

## Summary:

Converts an octal number (base-8) to its binary (base-2) equivalent. The input octal number must correspond to a decimal number *d* in the range -512 ≤ *d* < 512.

## Syntax:

OCT2BIN(**Number**[; **Places**])

## Returns:

Returns a text string comprising up to 10 binary digits (0 or 1), which is the binary number in two’s complement form that corresponds to the specified octal number.

## Arguments:

**Number** is a string or a number, or a reference to a cell containing one of those types, which gives the octal number that is to be converted to binary. The octal number must comprise only the digits 0...7, and must be no more than 10 digits long.

**Places** is an integer in the range 1 to 10, or a reference to a cell containing that value, which is the number of characters that should be returned for a positive **Number**. **Places** is ignored for negative values of **Number**, when OCT2BIN always returns 10 characters. The default for positive values of **Number** is for the returned string to occupy as many characters as necessary to accommodate the binary representation, but you can set the value of **Places** to add leading zeroes where necessary.

**Number**should use the standard two's complement representation, so that positive numbers are octal 0 to 777 (0 to 511 decimal) and negative numbers are octal 7777777777 to 7777777000 (-1 to -512 decimal). Negative numbers must be 10 digits long with the leftmost bit set to 1; positive numbers can comprise less than 10 digits.- If
**Number**does not specify a valid octal number, then OCT2BIN reports an invalid argument error (Err:502). This may arise, for example, if**Number**contains more than 10 characters or if it contains any character other than the digits 0…7. - If
**Number**is a string comprising no characters, or a reference to an empty cell, OCT2BIN returns 0 (possibly with leading zeroes, depending on the value of**Places**). - Although the content of
**Number**appears to be decimal, OCT2BIN will interpret it correctly. - If
**Places**is non-numeric, then OCT2BIN reports an invalid argument error (Err:502). - If
**Places**is a non-integer value, then OCT2BIN truncates it to an integer. - If, after any truncation,
**Places**is less than 1 or greater than 10, OCT2BIN reports an invalid argument error (Err:502). - If
**Number**is positive and**Places**is less than the minimum number of characters required to accommodate the binary representation of**Number**, then OCT2BIN reports an invalid argument error (Err:502).

## Additional details:

The following Wikipedia pages provide useful background information that is relevant to this function:

## Examples:

Formula | Description | Returns |
---|---|---|

=OCT2BIN(77) | Here the function converts the octal value of 77 (passed as a number) to its binary equivalent of 111111. | 111111 |

=OCT2BIN("77"; 8) | Here the function again converts the octal value of 77 (passed as a string) to its binary equivalent of 111111 but also adds two leading zeroes. | 00111111 |

=OCT2BIN(D1; D2) where cells D1 and D2 contain the numbers 77 and 10 respectively. | Here the function again converts the octal value of 77 (passed via a cell reference) to its binary equivalent of 111111 but also adds four leading zeroes. | 0000111111 |

=OCT2BIN(7777777000) | Here the function converts the minimum allowed 10-character octal value of 7777777000 (-512 decimal) to its binary equivalent of 1000000000. | 1000000000 |

=OCT2BIN(7777777777) | Here the function converts the 10-character octal value of 7777777777 (-1 decimal) to its binary equivalent of 1111111111. | 1111111111 |

=OCT2BIN(777) | Here the function converts the maximum allowed octal value of 777 (511 decimal) to its binary equivalent of 111111111. | 111111111 |

## Related LibreOffice functions:

## ODF standard:

## Equivalent Excel functions:

OCT2BIN