reinterpretcast

Convert fixed-point data types without changing underlying data

Syntax

c = reinterpretcast(a, T)

Description

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.

Examples

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                 0.7890625
      numerictype(1,8,7)

c = 

   128   101
      numerictype(0,8,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™.

HDL Code Generation
Generate Verilog and VHDL code for FPGA and ASIC designs using HDL Coder™.

See Also

| | |

Introduced in R2008b