sticking together 4 hex bytes question
显示 更早的评论
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.
回答(2 个)
Ameer Hamza
2020-11-1
编辑:Ameer Hamza
2020-11-1
Try this code
x = [31 47 63 255];
y = reshape(dec2hex(x).', 1, [])
Result
>> y
y =
'1F2F3FFF'
6 个评论
fima v
2020-11-1
Ameer Hamza
2020-11-1
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
2020-11-1
reshape(dec2hex(x).', 1, []) means that take the output of dec2hex(x).' and convert it into a vector with one row.
Ameer Hamza
2020-11-1
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
2020-11-1
x = [31 47 63 255];
swap(typecast(uint8(x), 'uint64'))
3 个评论
Ameer Hamza
2020-11-1
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
2020-11-1
ah yes you are right, swapbytes and uint32
类别
在 帮助中心 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!