Input [Hex] String then convert to binary from Hex
3 次查看(过去 30 天)
显示 更早的评论
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
'00000001001000010'
I have tried this code:
Array = [0,1,2,3,4,5,6,7,8,9,0xa,0xb];
reshape(dec2bin(Array),1,[])
reshape(dec2bin(Array,8),1,[])
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 个评论
Rik
2020-12-15
Array = [0,1,2,3,4,5,6,7,8,9,0xa,0xb];
reshape(dec2bin(Array),1,[])
reshape(dec2bin(Array,8),1,[])
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).
回答(1 个)
Jan
2020-12-15
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);
reshape(dec2bin(DecArray),1,[])
reshape(dec2bin(DecArray,8),1,[])
2 个评论
Rik
2020-12-15
I thought that as well, but this OP actually did what many didn't: marking the release they use. As that is R2020a, the original code should work as well.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Data Type Conversion 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!