# 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
 `allfinite` Determine if all array elements are finite (Since R2022a) `anynan` Determine if any array element is `NaN` (Since R2022a) `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 specific 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.