Main Content

reinterpretcast

转换定点或整数数据类型而不更改基础数据

说明

示例

c = reinterpretcast(a,T) 将输入 a 转换为 numerictype 对象 T 指定的数据类型而不更改基础数据。结果在 fi 对象 c 中返回。

reinterpretcast 函数与 MATLAB® typecastcast 函数的不同之处在于,它只对 fi 对象和内置整数执行运算,它不允许输入的字长发生变化。

示例

全部折叠

在此示例中,a 是有符号 fi 对象,其字长为 8 位、小数长度为 7 位。reinterpretcast 函数将 a 转换为无符号 fi 对象 c,其字长为 8 位、小数长度为 0 位。ac 的真实值不同,但其二进制表示是相同的。

a = fi([-1 pi/4],1,8,7)
a = 
   -1.0000    0.7891

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 8
        FractionLength: 7
T = numerictype(0,8,0);
c = reinterpretcast(a,T)
c = 
   128   101

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

要验证基础数据未发生更改,请比较 ac 的二进制表示。

binary_a = bin(a)
binary_a = 
'10000000   01100101'
binary_c = bin(c)
binary_c = 
'10000000   01100101'

输入参数

全部折叠

输入定点或整数数组,指定为标量、向量、矩阵或多维数组。

输入 aT 的字长必须相同。

数据类型: int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fi
复数支持:

新数据类型,指定为完全指定一种定点数据类型的 numerictype 对象。

输入 aT 的字长必须相同。

扩展功能

C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。

HDL 代码生成
使用 HDL Coder™ 为 FPGA 和 ASIC 设计生成 VHDL、Verilog 和 SystemVerilog 代码。

版本历史记录

在 R2008b 中推出

另请参阅

| | |