## INT16 Convert to Signed 16-bit Integer

Section: Type Conversion Functions

### Usage

Converts the argument to an signed 16-bit Integer. The syntax for its use is
```   y = int16(x)
```

where `x` is an `n`-dimensional numerical array. Conversion follows the saturation rules (e.g., if `x` is outside the normal range for a signed 16-bit integer of `[-32767,32767]`, it is truncated to that range). Note that both `NaN` and `Inf` both map to 0.

### Example

The following piece of code demonstrates several uses of `int16`. First, the routine uses
```--> int16(100)

ans =
100

--> int16(-100)

ans =
-100
```

In the next example, an integer outside the range of the type is passed in. The result is truncated to the range of the data type.

```--> int16(40000)

ans =
32767
```

In the next example, a positive double precision argument is passed in. The result is the signed integer that is closest to the argument.

```--> int16(pi)

ans =
3
```

In the next example, a complex argument is passed in. The result is the signed complex integer that is closest to the argument.

```--> int16(5+2*i)

ans =
5.0000 +  2.0000i
```

In the next example, a string argument is passed in. The string argument is converted into an integer array corresponding to the ASCII values of each character.

```--> int16('helo')

ans =
104 101 108 111
```

In the last example, a cell-array is passed in. For cell-arrays and structure arrays, the result is an error.

```--> int16({4})
Error: Cannot perform type conversions with this type
```