Шестнадцатеричное представление сохраненного целого числа объекта fi
hex(a)
hex(a) возвращает сохраненное целое число объекта fi a в шестнадцатеричном формате как вектор символов. hex(a) эквивалентен a.hex.
Числа фиксированной точки могут быть представлены как
или, эквивалентно как
Сохраненное целое число является необработанным двоичным числом, в котором двоичная точка принята, чтобы быть в ультраправом из слова.
Следующий код
a = fi([-1 1],1,8,7); y = hex(a) z = a.hex
возвращается
y = 80 7f z = 80 7f
Следующий пример показывает, как записать шестнадцатеричные данные из рабочей области MATLAB® в текстовый файл.
Во-первых, задайте свои данные и создайте перезаписываемый текстовый файл под названием hexdata.txt:
x = (0:15)'/16;
a = fi(x,0,16,16);
h = fopen('hexdata.txt','w');
Используйте функцию fprintf, чтобы записать ваши данные в файл hexdata.txt:
for k=1:length(a)
fprintf(h,'%s\n',hex(a(k)));
end
fclose(h);
Чтобы видеть содержимое файла, вы создали, используйте функцию type:
type hexdata.txt
MATLAB возвращается:
0000 1000 2000 3000 4000 5000 6000 7000 8000 9000 a000 b000 c000 d000 e000 f000
Следующий пример показывает, как считать шестнадцатеричные данные из текстового файла назад в рабочее пространство MATLAB.
Откройте hexdata.txt для чтения и считайте его содержимое в переменную рабочей области:
h = fopen('hexdata.txt','r');
nextline = '';
str='';
while ischar(nextline)
nextline = fgetl(h);
if ischar(nextline)
str = [str;nextline];
end
end
Создайте объект 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: 16bin | dec | oct | storedInteger