MATLAB Answers

Input [Hex] String then convert to binary from Hex

5 views (last 30 days)
WARRIOR24 on 15 Dec 2020
Edited: Rik on 15 Dec 2020
How can I convert this string [0,1,2,3,4,5,6,7,8,9,0xA,0xB] binary?
Hex inputs are:
0xA = 10
0xB = 11
My Goal is to get one long consecutive binary output to look like this:
change it decimal, then to binary, then combine all binary values
'0000 0001 0010 00010'
but with no spaces and continous. Basically make it into a 32bit vector
I have tried this code:
Array = [0,1,2,3,4,5,6,7,8,9,0xa,0xb];
I get this Error:
>> untitled4
Error: File: untitled4.m Line: 1 Column: 31
Invalid expression. Check for missing multiplication operator, missing or unbalanced delimiters, or other syntax
error. To construct matrices, use brackets instead of parentheses.
  1 Comment
Rik on 15 Dec 2020
Array = [0,1,2,3,4,5,6,7,8,9,0xa,0xb];
ans = '000000001111000011110000001100110011010101010101'
ans = '000000000000000000000000000000000000000000000000000000001111000011110000001100110011010101010101'
As you can see, your code runs in R2020b. I just tested on my own copy of R2020a, and it works there as well.
Also a side note: Array is not a string, it is not even a char, it is a uint8 array (which dec2bin probably converts to double internally).

Sign in to comment.

Answers (1)

Jan on 15 Dec 2020
I guess, you are using an older version of Matlab, which does not allow to write hex numbers in the code directly. Then:
HexArray = {'0','1','2','3','4','5','6','7','8','9','a','b'};
DecArray = hex2dec(HexArray);
Rik on 15 Dec 2020
It turns out from a mostly duplicate thread that the release is actually R2019a instead.
@Warrior, please don't make these kinds of mistakes. The release matters a lot in cases like this.

Sign in to comment.




Community Treasure Hunt

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

Start Hunting!

Translated by