This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.


Convert fixed-point data types without changing underlying data


c = reinterpretcast(a, T)


c = reinterpretcast(a, T) converts the input a to the data type specified by numerictype object T without changing the underlying data. The result is returned in fi object c.

The input a must be a built-in integer or a fi object with a fixed-point data type. T must be a numerictype object with a fully specified fixed-point data type. The word length of inputs a and T must be the same.

The reinterpretcast function differs from the MATLAB® typecast and cast functions in that it only operates on fi objects and built-in integers, and it does not allow the word length of the input to change.


In the following example, a is a signed fi object with a word length of 8 bits and a fraction length of 7 bits. The reinterpretcast function converts a into an unsigned fi object c with a word length of 8 bits and a fraction length of 0 bits. The real-world values of a and c are different, but their binary representations are the same.

 a = fi([-1 pi/4], 1, 8, 7)
 T = numerictype(0, 8, 0);
 c = reinterpretcast(a, T)
a =
   -1.0000    0.7891

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 8
        FractionLength: 7
c =
   128   101

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Unsigned
            WordLength: 8
        FractionLength: 0

To verify that the underlying data has not changed, compare the binary representations of a and c:

binary_a = bin(a)
binary_c = bin(c)
binary_a =

10000000   01100101

binary_c =

10000000   01100101

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.

See Also

| | |

Introduced in R2008b