主要内容

pow2

乘以 2K 的高效定点乘法

语法

b = pow2(a,K)

说明

b = pow2(a,K) 返回 a 移位 K 位后的值,其中 K 是整数,abfi 对象。输出 b 始终具有与输入 a 相同的字长和小数长度。

注意

在定点算术中,移位 K 位等效于计算 b = a*2K,并且更高效。

如果 K 是非整数,pow2 函数将在执行计算前对其进行 floor 舍入。

a 的定标必须等效于纯二进制小数点定标;换句话说,它的斜率必须为 2 的幂且偏置必须为 0。

a 可以是实数或复数。如果 a 是复数,则 pow2a 的实部和虚部都进行运算。

pow2 函数遵守与 a 关联的 OverflowActionRoundingMethod 属性。如果遵循与 a 相关联的 RoundingMethod 属性不重要,请尝试使用 bitshift 函数。

pow2 函数不支持数据类型为 Booleanfi 对象。

afi 对象时,该函数也不支持语法 b = pow2(a)

示例

例 1. 示例 1

在以下示例中,a 是实数值 fi 对象,K 是正整数。

pow2 函数将 a 的位左移 3 位,实际上是将 a 乘以 23

a = fi(pi,1,16,8)
b = pow2(a,3)
binary_a = bin(a)
binary_b = bin(b)
a = 

                  3.140625

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 16
        FractionLength: 8

b = 

                    25.125

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 16
        FractionLength: 8

binary_a =

    '0000001100100100'


binary_b =

    '0001100100100000'
例 2. 示例 2

在以下示例中,a 是实数值 fi 对象,K 是负整数。

pow2 函数将 a 的位右移 4 位,实际上是将 a 乘以 2–4

a = fi(pi,1,16,8)
b = pow2(a,-4)
binary_a = bin(a)
binary_b = bin(b)
a = 

                  3.140625

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 16
        FractionLength: 8

b = 

                 0.1953125

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 16
        FractionLength: 8

binary_a =

    '0000001100100100'


binary_b =

    '0000000000110010'
例 3. 示例 3

以下示例说明 pow2 与复数 fi 对象的使用:

format long g
P = fipref('NumericTypeDisplay', 'short');
a = fi(57 - 2i, 1, 16, 8)
a = 

                         57 -                     2i
      numerictype(1,16,8)
pow2(a,2)
ans = 

               127.99609375 -                     8i
      numerictype(1,16,8)

扩展功能

全部展开

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

GPU 代码生成
使用 GPU Coder™ 为 NVIDIA® GPU 生成 CUDA® 代码。

版本历史记录

在 R2006a 之前推出

另请参阅

| | |