主要内容

storedInteger

获取 fi 对象的存储整数值

说明

y = storedInteger(a) 返回 fi 对象 a 的存储整数值。存储整数 y 以内置整数数据类型之一形式返回。

fi 对象的真实值可以表示为

real-world value=(slope×stored integer)+bias

当偏置为零且斜率为 2 的幂时(通常称为二进制小数点定标),这通常表示为

real-world value=2fraction length×stored integer

示例

示例

全部折叠

此示例说明如何使用 storedInteger 函数确定两个 fi 对象的存储整数值。

使用默认定点数据类型定义 fi 对象 a

a = fi([0.2 0.3 0.4 0.5]);
in_a = storedInteger(a)
in_a = 1×4 int16 row vector

    6554    9830   13107   16384

fi 对象 a 的存储整数值以 int16 数据类型形式返回,因为 fi 构造函数默认创建具有有符号 16 位数据类型的 fi 对象。

使用 numerictype 对象 nt 指定的定点数据类型定义 fi 对象 a_nt

nt = numerictype('WordLength',17);
a_nt = fi([0.2 0.3 0.4 0.5; 0.2 0.3 0.4 0.5],'numerictype',nt);
in_a_nt = storedInteger(a_nt)
in_a_nt = 2×4 int32 matrix

    6554    9830   13107   16384
    6554    9830   13107   16384

fi 对象 a_nt 的存储整数值以 int32 数据类型形式返回,因为这是具有至少 17 位的最小内置整数数据类型。

输入参数

全部折叠

从中获取存储整数值的定点数值对象,指定为标量、向量、矩阵或多维数组 fi 对象。

数据类型: fi
复数支持:

输出参量

全部折叠

输入 fi 对象 a 的存储整数值,以内置整数数据类型之一形式返回。输出与输入具有相同的维度。输出的数据类型基于存储整数的符号性和字长 (WL) 确定:

输入的字长输出的数据类型
WL ≤ 8 位int8uint8
8 位 < WL ≤ 16 位int16uint16
16 位 < WL ≤ 32 位int32uint32
32 位 < WL ≤ 64 位int64uint64

数据类型: int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

限制

  • storedInteger 函数不支持大于 64 位的整数。当输出的数据类型有 65 位或更多位时,storedInteger 函数会出错。例如,

    storedInteger(fi(1,0,65,0))
    
    Integers greater than 64 bits are not supported in 
    the 'storedInteger' function. For exact integer 
    representation for any word length, use BIN, OCT, 
    DEC, or HEX. To convert a stored integer value to 
    double for any word length, use storedIntegerToDouble.

提示

替代功能

函数

intstoredInteger 函数都返回 fi 对象的存储整数值。您可以使用 int 函数获取和设置 fi 对象的存储整数:

a = fi(pi);
y = int(a)  %get
y =

  int16

   25736
a = fi(pi);
a.int = 3;  %set
y = a.int   %get
y =

  int16

   3
您只能使用 storedInteger 函数获取 fi 对象的存储整数值。
a = fi(pi);
y = storedInteger(a) 
y =

  int16

   25736
storedInteger 函数不能用于设置 fi 对象的存储整数值。

扩展功能

全部展开

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

版本历史记录

在 R2012a 中推出

另请参阅

| | | | |