This is machine translation

Translated by Microsoft
Mouse over text to see original. Click the button below to return to the English verison of the page.


Convert to 16-bit signed integer


intArray = int16(array)


intArray = int16(array) converts the elements of an array into signed 16-bit (2-byte) integers of class int16.

Input Arguments


Array of any numeric class, such as single or double. If array is already of class int16, the int16 function has no effect.

Output Arguments


Array of class int16. Values range from –215 to 215 – 1.

The int16 function maps any values in array that are outside the limit to the nearest endpoint. For example,

int16(2^15)   % 2^15 = 32768


ans =


Convert a double array to int16:

mydata = int16(magic(100));

Related Examples


When preallocating integer arrays, specify the class in the call to functions that support a class name input (such as zeros, ones or eye), rather than calling an integer conversion function. For example,

I = int16(zeros(100));     % Creates an intermediate array

is not as efficient as

I = zeros(100, 'int16');   % Preferred 

More About

collapse all

Tall Array Support

This function fully supports tall arrays. For more information, see Tall Arrays.

Introduced before R2006a

Was this topic helpful?