# Numeric Types

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

## 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.