Main Content

pow2

浮点数的以 2 为底的幂运算和缩放

说明

示例

Y = pow2(E) 计算 2 的 E 次方,使得 Y=2E

示例

Y = pow2(X,E) 计算 X 乘以 2 的 E 次方,使得 Y=X2E

示例

全部折叠

计算 2 的 E 次方。

E = [1 -2 4 -4 3 9];
Y = pow2(E)
Y = 1×6

    2.0000    0.2500   16.0000    0.0625    8.0000  512.0000

在此示例中,将对有效数缩放 2 的指数次方得到的标准 IEEE® 算术结果与 pow2 结果进行比较。

创建一个字符向量元胞数组来表示几个有效数的精确值。指定指数。

Xcell = {'1/2','pi/4','-3/4','1/2','1-eps/2','1/2'}';
E = [1 2 2 -51 1024 -1021]';

Ycell 指定为将 Xcell 缩放 2E 次方得到的标准 IEEE 算术结果。在表中显示这些结果。

Ycell = {'1','pi','-3','eps','realmax','realmin'}';
table(Xcell,E,Ycell,'VariableNames',["Significand" "Exponent" "Value"])
ans=6×3 table
    Significand    Exponent       Value   
    ___________    ________    ___________

    {'1/2'    }         1      {'1'      }
    {'pi/4'   }         2      {'pi'     }
    {'-3/4'   }         2      {'-3'     }
    {'1/2'    }       -51      {'eps'    }
    {'1-eps/2'}      1024      {'realmax'}
    {'1/2'    }     -1021      {'realmin'}

接下来,将表中的结果与 pow2 进行比较。

Xcell 转换为浮点数 X。通过使用 pow2(X,E)X 缩放 2E 次方。

X = str2num(char(Xcell));
Y = pow2(X,E)
Y = 6×1
10308 ×

    0.0000
    0.0000
   -0.0000
    0.0000
    1.7977
    0.0000

Ycell 转换为浮点数 Ynum。通过使用 isequal 比较 YYnum,表明 pow2 遵循标准 IEEE 算术运算。

Ynum = str2num(char(Ycell))
Ynum = 6×1
10308 ×

    0.0000
    0.0000
   -0.0000
    0.0000
    1.7977
    0.0000

isequal(Y,Ynum)
ans = logical
   1

输入参数

全部折叠

指数值,指定为标量、向量、矩阵、多维数组、表或时间表。

数据类型: single | double | table | timetable

有效数的值,指定为与 E 大小相同的标量、向量、矩阵或多维数组。

数据类型: single | double | table | timetable

提示

语法 Y = pow2(X,E) 对应于 ANSI® C 函数 ldexp() 和 IEEE® 浮点标准函数 scalbn()。只需将 E 添加到 X 的浮点指数中即可快速计算结果 Y

扩展功能

版本历史记录

在 R2006a 之前推出

全部展开

另请参阅

| | | | | |