Main Content


Convert number to signed integer using quantizer object



y = num2int(q,x) converts numeric values in x to output y containing integers using the data type properties specified by the fixed-point quantizer object q. If x is a cell array containing numeric matrices, then y will be a cell array of the same dimension.

[y1,y2,…] = num2int(q,x1,x2,…) uses q to convert numeric values x1, x2,… to integers y1, y2,….


collapse all

All the two's complement 4-bit numbers in fractional form are given by:

x = [0.875 0.375 -0.125 -0.625
     0.750 0.250 -0.250 -0.750
     0.625 0.125 -0.375 -0.875
     0.500 0.000 -0.500 -1.000];

Define a quantizer object to use for conversion.

q = quantizer([4 3]);

Use num2int to convert to signed integer.

y = num2int(q,x)
y =

     7     3    -1    -5
     6     2    -2    -6
     5     1    -3    -7
     4     0    -4    -8

Input Arguments

collapse all

Data type format to use for conversion, specified as a fixed-point quantizer object.

Example: q = quantizer([5 4]);

Numeric values to convert, specified as a scalar, vector, matrix, multidimensional array, or cell array.

Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | cell
Complex Number Support: Yes


  • When q is a fixed-point quantizer object, f is equal to fractionlength(q), and x is numeric:


  • num2int is meaningful only for fixed-point quantizer objects. When q is a floating-point quantizer object, x is returned unchanged (y = x).

  • y is returned as a double, but the numeric values will be integers, also known as floating-point integers or flints.

Introduced before R2006a