Main Content

dec2hex

Convert decimal integer to its hexadecimal representation

Description

example

hexStr = dec2hex(D) returns the hexadecimal, or base-16, representation of the decimal integer D. The output argument hexStr is a character vector that represents hexadecimal digits using the characters 0-9 and A-F.

If D is a numeric vector, matrix, or multidimensional array, then hexStr is a two-dimensional character array. Each row of hexStr represents an element of D.

example

hexStr = dec2hex(D,minDigits) returns a hexadecimal representation with no fewer than minDigits digits.

Examples

collapse all

Convert a decimal number to a character vector that represents its hexadecimal value.

D = 1023;
hexStr = dec2hex(D)
hexStr = 
'3FF'

Specify the minimum number of hexadecimal digits that dec2hex returns. If you specify more digits than are required, then dec2hex pads the output.

D = 1023;
hexStr = dec2hex(D,6)
hexStr = 
'0003FF'

If you specify fewer digits, then dec2hex still returns as many hexadecimal digits as required to represent the input number.

hexStr = dec2hex(D,1)
hexStr = 
'3FF'

Create a numeric array.

D = [1023 122 14];

To represent the elements of D as hexadecimal values, use the dec2hex function. Each row of hexStr corresponds to an element of D.

hexStr = dec2hex(D)
hexStr = 3x3 char array
    '3FF'
    '07A'
    '00E'

The dec2hex function returns a padded character array. Starting in R2016b, the compose function is recommended for converting numeric arrays to hexadecimal representations. It returns a string array whose elements are not padded. To represent the elements of D as hexadecimal values, use either the %X or %x formatting operator.

hexStr = compose("%X",D)
hexStr = 1x3 string
    "3FF"    "7A"    "E"

Starting in R2020a, the dec2hex function converts negative numbers using their two's complement binary values.

For example, these calls to dec2hex convert negative numbers.

dec2hex(-1)
ans = 
'FF'
dec2hex(-16)
ans = 
'F0'

Input Arguments

collapse all

Input array, specified as a numeric array.

  • If D is an array of floating-point numbers, and any element of D has a fractional part, then dec2hex produces an error. For example, dec2hex converts 10 to 'A', but does not convert 10.5.

  • If D is a character or logical array, then dec2hex treats the elements of D as integers. However, dec2hex treats characters as their Unicode® values, so specifying D as a character array is not recommended.

Since R2020a

D can include negative numbers. The function converts negative numbers using their two's complement binary values.

Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char

Minimum number of digits in the output, specified as an integer.

  • If D can be represented with fewer than minDigits hexadecimal digits, then dec2hex pads the output.

    D >= 0

    Pads with leading zeroes

    D < 0

    Pads with leading F characters (since R2020b)

  • If D is so large that it must be represented with more than minDigits digits, then dec2hex returns the output with as many digits as required.

Extended Capabilities

Introduced before R2006a