convert 16bit char to 4 byte hex values

I have an length X 16 variable of type char. i'd like to convert it to length x 4 nibble hex values
example input: char(3x16)
1000100010001000
0000000000000010
111111111111111111
output wanted 8888
0002
FFFF

Answers (1)

c=char(["1000100010001000";
"0000000000000010";
"1111111111111111"])
c = 3×16 char array
'1000100010001000' '0000000000000010' '1111111111111111'
d=dec2hex(bin2dec(c))
d = 3×4 char array
'8888' '0002' 'FFFF'

4 Comments

Very nice and simple! thank you. i have been trying every conversion function in the book and thought it would take a double to work.
I thought there should be a bin2hex() function but didn't find it. Maybe someone else can suggest a direct conversion method?
If your original data is not constrained to be char array, maybe take a look at this document

Sign in to comment.

Categories

Tags

Asked:

on 27 Jun 2023

Commented:

on 11 Jul 2023

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!