fi
Hexadecimal representation of stored integer of fi object
b = hex(a)
example
b = hex(a) returns the stored integer of fi object a in hexadecimal format as a character vector.
b
a
Fixed-point numbers can be represented as
real-world value=2−fraction length×stored integer
or, equivalently as
real-world value=(slope×stored integer)+bias
The stored integer is the raw binary number, in which the binary point is assumed to be at the far right of the word.
collapse all
Create a signed fi object with values -1 and 1, a word length of 8 bits, and a fraction length of 7 bits.
-1
1
a = fi([-1 1], 1, 8, 7)
a=1×2 object -1.0000 0.9922 DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 8 FractionLength: 7
Find the hexadecimal representation of the stored integers of fi object a.
b = '80 7f'
This example shows how to write hexadecimal data from the MATLAB workspace into a text file.
Define your data and create a writable text file called hexdata.txt.
hexdata.txt
x = (0:15)'/16; a = fi(x, 0, 16, 16); h = fopen('hexdata.txt', 'w');
Use the fprintf function to write your data to the hexdata.txt file.
fprintf
for k = 1:length(a) fprintf(h, '%s\n', hex(a(k))); end fclose(h);
To see the contents of the file you created, use the type function.
type
type hexdata.txt
0000 1000 2000 3000 4000 5000 6000 7000 8000 9000 a000 b000 c000 d000 e000 f000
This example shows how to read hexadecimal data from a text file back into the MATLAB workspace.
Define your data, create a writable text file called hexdata.txt, and write your data to the hexdata.txt file.
x = (0:15)'/16; a = fi(x, 0, 16, 16); h = fopen('hexdata.txt', 'w'); for k = 1:length(a) fprintf(h, '%s\n', hex(a(k))); end fclose(h);
Open hexdata.txt for reading and read its contents into a workspace variable
h = fopen('hexdata.txt', 'r'); nextline = ''; str = ''; while ischar(nextline) nextline = fgetl(h); if ischar(nextline) str = [str; nextline]; end end fclose(h);
Create a fi object with the correct scaling and assign it the hex values stored in the str variable.
str
b = fi([], 0, 16, 16); b.hex = str
b=16×1 object 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
Stored integer, specified as a fi object.
Data Types: fi
bin | dec | oct | storedInteger
bin
dec
oct
storedInteger
You have a modified version of this example. Do you want to open this example with your edits?