sticking together 4 hex bytes question
Ältere Kommentare anzeigen
Hello I have four DECIMAL numer for example 31(1F) 47(2F) 63(3F) FF(255)
how using those decimal numbers i get a HEX number of 1F2F3FFF?
Thanks.
Antworten (2)
Ameer Hamza
am 1 Nov. 2020
Bearbeitet: Ameer Hamza
am 1 Nov. 2020
Try this code
x = [31 47 63 255];
y = reshape(dec2hex(x).', 1, [])
Result
>> y
y =
'1F2F3FFF'
6 Kommentare
fima v
am 1 Nov. 2020
Ameer Hamza
am 1 Nov. 2020
Just to make it a row vector. The output without it is
>> x = [31 47 63 255];
>> dec2hex(x).'
ans =
2×4 char array
'123F'
'FFFF'
Ameer Hamza
am 1 Nov. 2020
reshape(dec2hex(x).', 1, []) means that take the output of dec2hex(x).' and convert it into a vector with one row.
Ameer Hamza
am 1 Nov. 2020
I think it is better you run the following lines one by one. Then you will get an idea of what is happening
x = [31 47 63 255];
y = dec2hex(x)
y = y.'
y = reshape(y, 1, [])
Walter Roberson
am 1 Nov. 2020
x = [31 47 63 255];
swap(typecast(uint8(x), 'uint64'))
3 Kommentare
Ameer Hamza
am 1 Nov. 2020
I think that the second line should be
dec2hex(swapbytes(typecast(uint8(x), 'uint32')))
or also this
dec2hex(typecast(uint8(fliplr(x)), 'uint32'))
Walter Roberson
am 1 Nov. 2020
ah yes you are right, swapbytes and uint32
Kategorien
Mehr zu Logical finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!