主要内容

num2hex

使用 quantizer 对象将数字转换为十六进制等效值

说明

y = num2hex(q,x) 将数值矩阵 x 转换为在 y 中返回的十六进制字符串。数字的属性由 quantizer 对象 q 指定。

[y1,y2,…] = num2hex(q,x1,x2,…) 将数值矩阵 x1x2、…转换为十六进制字符串 y1y2、…。

示例

示例

全部折叠

使用 num2hex 将数值矩阵转换为十六进制表示。

转换浮点值

这是浮点示例,它使用具有 6 位字长和 3 位指数长度的 quantizer 对象 q

x = magic(3);
q = quantizer('float',[6 3]);
y = num2hex(q,x)
y = 9×2 char array
    '18'
    '12'
    '14'
    '0c'
    '15'
    '18'
    '16'
    '17'
    '10'

转换定点值

所有小数形式的 4 位定点 2 的补码数由下式给出:

q = quantizer([4 3]);
x = [0.875    0.375   -0.125   -0.625
     0.750    0.250   -0.250   -0.750
     0.625    0.125   -0.375   -0.875
     0.500        0   -0.500   -1.000];
y = num2hex(q,x)
y = 16×1 char array
    '7'
    '6'
    '5'
    '4'
    '3'
    '2'
    '1'
    '0'
    'f'
    'e'
    'd'
    'c'
    'b'
    'a'
    '9'
    '8'

输入参数

全部折叠

数字的属性,指定为 quantizer 对象。

要转换的数值,指定为标量、向量、矩阵、多维数组或由双精度值组成的元胞数组。

数据类型: double | cell
复数支持:

输出参量

全部折叠

十六进制字符串,以列向量形式返回。如果 x 是包含数值矩阵的元胞数组,则 y 以相同维度的包含十六进制字符串的元胞数组形式返回。

提示

  • num2hexhex2num 互为逆函数,不同之处是 hex2num 以列形式返回十六进制值。

算法

  • 对于定点 quantizer 对象,表示是 2 的补码。

  • 对于浮点 quantizer 对象,表示是 IEEE® 标准 754 样式。

    例如,对于 q = quantizer('double')

    q = quantizer('double');
    num2hex(q,nan)
    ans =
    
        'fff8000000000000'

    前导小数位为 1,所有其他小数位都为 0。符号位为 1,指数位都为 1。

    num2hex(q,inf)
    ans =
    
        '7ff0000000000000'

    符号位为 0,指数位都为 1,所有小数位都为 0。

    num2hex(q,-inf)
    ans =
    
        'fff0000000000000'

    符号位为 1,指数位都为 1,所有小数位都为 0。

版本历史记录

在 R2006a 之前推出