How to input a string of integers and hex values together as an input. [9,0xa,0xb]

1.) I am trying to make this string [0,1,2,3,4,5,6,7,8,9,0xA,0xB] as an input the convert to decimal value and/or binary?
Is this possible?
0xA = 10
0xB = 11
they are both Hex inputs.
2.) Then I am trying to convert this string of values to Chars.
Here is what I am got so are with the error:
Array = [0,1,2,3,4,5,6,7,8,9,0xa,0xb]
Array = dec2hex(Array)
Array = convertStringsToChars(Array)
Here is the output showing on the command window.
>> untitled2
Error: File: untitled2.m Line: 12 Column: 32
Invalid expression. Check for missing multiplication operator, missing or unbalanced delimiters, or other syntax
error. To construct matrices, use brackets instead of parentheses.

3 commentaires

For your example, what is your desired output?
change it dec, 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 need to do some binary computation
What I mean is that for this specific example you gave:
Array = [0,1,2,3,4,5,6,7,8,9,0xa,0xb]
which contains 12 double values, what exactly is your desired output? I don't mean a description ... I mean the exact output you want for that exact input.

Connectez-vous pour commenter.

Réponses (2)

reshape(dec2bin(Array),1,[])

7 commentaires

I added it to the bottom. I got an error.
Array = [0,1,2,3,4,5,6,7,8,9,0xa,0xb]
Array = dec2hex(Array)
Array = convertStringsToChars(Array)
reshape(dec2bin(Array),1,[])
This was my result:
>> untitled2
Error: File: untitled2.m Line: 12 Column: 32
Invalid expression. Check for missing multiplication operator, missing or unbalanced delimiters, or other syntax
error. To construct matrices, use brackets instead of parentheses.
use the original
Array = [0,1,2,3,4,5,6,7,8,9,0xa,0xb];
reshape(dec2bin(Array),1,[])
reshape(dec2bin(Array,8),1,[]) % use 8-bits, see docs
I entered it as is,
Array = [0,1,2,3,4,5,6,7,8,9,0xa,0xb]
reshape(dec2bin(Array),1,[])
reshape(dec2bin(Array,8),1,[])
Still the same result:
>> untitled2
Error: File: untitled2.m Line: 12 Column: 32
Invalid expression. Check for missing multiplication operator, missing or unbalanced delimiters, or other syntax
error. To construct matrices, use brackets instead of parentheses.
There's something else throwing the error. Paste the whole file if you need to, obviously this is either not line 12, or there is more code that we can't see.
I moved it up to line 1 and still the same result.
>> 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.
I'm not sure what's going on. The attached file results with:
Array =
1×12 uint8 row vector
0 1 2 3 4 5 6 7 8 9 10 11
ans =
'000000001111000011110000001100110011010101010101'
ans =
'000000000000000000000000000000000000000000000000000000001111000011110000001100110011010101010101'
I'm running MATLAB 2020b. My hex numbers do not have the red warning underneath them. Perhaps try: 0xA, 0xB?
Still the same result, I am running 2020a

Connectez-vous pour commenter.

If you're using release R2019b or later this should work. This confirms it works in release R2020b.
Array = [0,1,2,3,4,5,6,7,8,9,0xa,0xb]
Array = 1×12
0 1 2 3 4 5 6 7 8 9 10 11
From the fact that Code Analyzer flags this as an error, are you certain you're using release R2020a? Can you post the output of this command in your installation of MATLAB to confirm that?
version
ans = '9.9.0.1544872 (R2020b) Update 3'

3 commentaires

>> version
ans =
'9.6.0.1174912 (R2019a) Update 5'
Jan's answer should work for you.
Because you're using the release before the capability to enter hex literals was introduced, you will not be able to type 0xa and have MATLAB turn that into uint8(10). As Rik suggested see Jan's answer, or if you're going to want to use this new functionality look at the Release Notes and consider if upgrading to a newer release is an option.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Entering Commands dans Centre d'aide et File Exchange

Produits

Version

R2019a

Question posée :

le 15 Déc 2020

Commenté :

le 15 Déc 2020

Community Treasure Hunt

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

Start Hunting!

Translated by