How do I make my vector save characters?

1 vue (au cours des 30 derniers jours)
Julen Vicente Pipaon
Julen Vicente Pipaon le 4 Mar 2021
Hi.
My code give me this vector: c2 =
1 5 8 66
But I want this one: c2 =
1 B 5 8
I don't know where that 66 comes from and why my vector doesn't save my B.
This is my code:
v = 7000;
ii = 1;
c =[]
while (v > 16)
a = rem(v,16);
v = floor(v/16)
c(ii) = [z];
ii = ii + 1;
switch a
case 10
z = 'A'
case 11
z = 'B'
case 12
z = 'C'
case 13
z = 'D'
case 14
z = 'E'
case 15
z = 'F'
otherwise
z = a
end
end
c1 = [c v]
c2 = fliplr(c1)
  1 commentaire
Stephen23
Stephen23 le 4 Mar 2021
Modifié(e) : Stephen23 le 4 Mar 2021
"I don't know where that 66 comes from ..."
You can learn about character codes by reading this:
Question: what is the character code for character 'B'? (hint: 66)
"...and why my vector doesn't save my B."
Numeric arrays contain only numeric data. When you allocate the character 'B' to a numeric array it is coerced into its numeric character code. If you want an array of mixed types then you will need to use a container array (e.g. a cell array).

Connectez-vous pour commenter.

Réponse acceptée

David Hill
David Hill le 4 Mar 2021
v = 7000;
ii = 1;
while (v > 16)
a = rem(v,16);
v = floor(v/16);
switch a
case 10
z = 'A';
case 11
z = 'B';
case 12
z = 'C';
case 13
z = 'D';
case 14
z = 'E';
case 15
z = 'F';
otherwise
z = num2str(a);
end
c(ii) = z;
ii = ii + 1;
end
c(ii)=num2str(v);
c = fliplr(c);
Or
v=7000;
c=dec2hex(v);

Plus de réponses (0)

Catégories

En savoir plus sur Cell Arrays dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by