主要内容

hex

fi 对象的存储整数的十六进制表示

说明

b = hex(a) 以十六进制格式返回 fi 对象 a 的存储整数作为字符向量。

定点数可以表示为

real-world value=2fraction length×stored integer

或者,等效于

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

此存储整数是原始二进制数字,其中假定二进制小数点位于字的最右侧。

提示

hex 返回 fi 对象的存储整数的十六进制表示。要获取 fi 对象的真实值的十六进制表示,请使用 dec2hex

示例

示例

全部折叠

创建一个有符号 fi 对象,值为 -11,字长为 8 位,小数长度为 7 位。

a = fi([-1 1], 1, 8, 7)
a = 
   -1.0000    0.9922

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

查找 fi 对象 a 的存储整数的十六进制表示。

b = hex(a)
b = 
'80   7f'

此示例说明如何将十六进制数据从 MATLAB® 工作区写入文本文件。

定义您的数据。

x = (0:15)/16;
a = fi(x, 0, 16, 16);

使用 extract 函数将每个十六进制值提取为单独的字符串。

data = string(a.hex);
data = extract(data,alphanumericsPattern);

使用 writematrix 函数将数据写入文本文件 hexdata.txt

writematrix(data',"hexdata.txt",Delimiter="comma",QuoteString=false);

要查看您创建的文件的内容,请使用 type 函数。

type hexdata.txt
0000,1000,2000,3000,4000,5000,6000,7000,8000,9000,a000,b000,c000,d000,e000,f000

此示例说明如何将文本文件中的十六进制数据读回 MATLAB® 工作区。

定义您的数据。

x = (0:15)/16;
a = fi(x, 0, 16, 16);

将数据写入名为 hexdata.txt 的文本文件。有关将十六进制数据写入文件的更多详细信息,请参阅将十六进制数据写入文件

data = string(a.hex);
data = extract(data,alphanumericsPattern);
writematrix(data',"hexdata.txt",Delimiter="comma",QuoteString=false);

hexdata.txt 的内容读入字符串数组。

str = readmatrix("hexdata.txt",OutputType="string");

创建一个具有正确定标的 fi 对象,并为其赋予存储在 str 变量中的十六进制值。

b = fi([], 0, 16, 16);
b.hex = str
b = 
         0    0.0625    0.1250    0.1875    0.2500    0.3125    0.3750    0.4375    0.5000    0.5625    0.6250    0.6875    0.7500    0.8125    0.8750    0.9375

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Unsigned
            WordLength: 16
        FractionLength: 16

输入参数

全部折叠

输入数组,指定为 fi 对象。

数据类型: fi

版本历史记录

在 R2006a 之前推出

另请参阅

| | | | | |