# A to Z of Excel Functions: the HEX2OCT Function

6 April 2020

*Welcome back to our regular A to Z of Excel Functions blog. Today we look at the HEX2OCT function. *

**The HEX2OCT function**

This function converts a hexadecimal number (base 16) to octal (base eight).

The **HEX2OCT **function employs the following syntax to operate:

**HEX2OCT(number, [places])**

The **HEX2OCT** function has the following arguments:

**number:**this is required and represents the hexadecimal integer you wish to convert. The**number**cannot contain more than 10 characters. The most significant bit of**number**is the sign bit (40th bit from the right). The remaining 39 bits are magnitude bits. Negative numbers are represented using two's-complement notation**places:**this argument is optional. This is the number of characters to use. If**places**is omitted,**HEX2OCT**uses the minimum number of characters necessary. The argument**places**is useful for padding the return value with leading 0s (zeros).

**Two's complement** is a mathematical operation on binary numbers, as well as a binary signed number representation based on this operation. The two's complement of an **N**-bit number is defined as the complement with respect to 2** ^{N}**; in other words, it is the result of subtracting the number from 2

**. This is also equivalent to taking the ones' complement and then adding one, since the sum of a number and its ones' complement is all 1 bits. The two's complement of a number behaves like the negative of the original number in most arithmetic, and positive and negative numbers can coexist in a natural way.**

^{N}It should be further noted that:

- if
**number**is negative,**HEX2OCT**ignores places and returns a 10-character octal number - if
**number**is negative, it cannot be less than FFE0000000 - if
**number**is positive, it cannot be greater than 1FFFFFFF - if
**number**is not a valid hexadecimal number,**HEX2OCT**returns the*#NUM!*error value - if
**HEX2OCT**requires more than**places**characters, it returns the*#NUM!*error value - if
**places**is not an integer, it is truncated - if
**places**is nonnumeric,**HEX2OCT**returns the*#VALUE!*error value - if
**places**is negative,**HEX2OCT**returns the*#NUM!*error value.

Please see my example below:

*We’ll continue our A to Z of Excel Functions soon. Keep checking back – there’s a new blog post every business day.*

*A full page of the function articles can be found here. *