Шестнадцатеричное представление сохраненного целого числа объекта 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: 16
bin
| dec
| oct
| storedInteger