Main Content

# Numeric Types

Integer and floating-point data

Numeric classes in MATLAB® include signed and unsigned integers, and single-precision and double-precision floating-point numbers. By default, MATLAB stores all numeric values as double-precision floating point. (You cannot change the default type and precision.) You can choose to store any number, or array of numbers, as integers or as single-precision. Integer and single precision arrays offer more memory-efficient storage than double precision.

All numeric types support basic array operations, such as indexing, reshaping, and mathematical operations.

## Functions

expand all

 `double` Double-precision arrays `single` Single-precision arrays `int8` 8-bit signed integer arrays `int16` 16-bit signed integer arrays `int32` 32-bit signed integer arrays `int64` 64-bit signed integer arrays `uint8` 8-bit unsigned integer arrays `uint16` 16-bit unsigned integer arrays `uint32` 32-bit unsigned integer arrays `uint64` 64-bit unsigned integer arrays
 `cast` Convert variable to different data type `typecast` Convert data type without changing underlying data
 `isinteger` Determine whether input is integer array `isfloat` Determine if input is floating-point array `isnumeric` Determine whether input is numeric array `isreal` Determine whether array uses complex storage `isfinite` Determine which array elements are finite `isinf` Determine which array elements are infinite `isnan` Determine which array elements are NaN
 `eps` Floating-point relative accuracy `flintmax` Largest consecutive integer in floating-point format `Inf` Create array of all `Inf` values `intmax` Largest value of specific integer type `intmin` Smallest value of specified integer type `NaN` Create array of all `NaN` values `realmax` Largest positive floating-point number `realmin` Smallest normalized floating-point number

## Topics

Floating-Point Numbers

MATLAB represents floating-point numbers in either double-precision or single-precision format. The default is double precision.

Single Precision Math

This example shows how to perform arithmetic and linear algebra with single precision data.

Integers

MATLAB supports 1-, 2-, 4-, and 8-byte storage for integer data. If you use the smallest integer type that accommodates your data, you can save memory and program execution time.

Integer Arithmetic

This example shows how to perform arithmetic on integer data representing signals and images.

Create Complex Numbers

Create complex numbers. Complex numbers consist of a real part and an imaginary part.

Infinity and NaN

MATLAB represents infinity by the special value `inf`, and values that are neither real nor complex by the special value `NaN`, which stands for “Not a Number”.

Identifying Numeric Classes

You can check the data type of a variable using any of these commands.

Display Format for Numeric Values

Use the `format` function or set Preferences to control the display of numeric values.

Combining Unlike Integer Types

If you combine different integer types in a matrix (e.g., signed with unsigned, or 8-bit integers with 16-bit integers), all elements of the resulting matrix are given the data type of the leftmost element.

Combining Integer and Noninteger Data

If you combine integers with `double`, `single`, or `logical` classes, all elements of the resulting matrix are given the data type of the leftmost integer.

Empty Matrices

If you construct a matrix using empty matrix elements, the empty matrices are ignored in the resulting matrix.

Concatenation Examples

These examples show how to concatenate different data types.

Hexadecimal and Binary Values

Specify hexadecimal and binary values either as literals or as text. Hexadecimal and binary literals are stored as integers. You can convert text representing hexadecimal and binary values to numbers, and numbers to text representations.

Download ebook