How do you change bases without dec2base, etc.?

2 visualizaciones (últimos 30 días)
Jen Kirk
Jen Kirk el 14 de Feb. de 2017
Editada: Stephen23 el 14 de Feb. de 2017
I have to write a function that changes any positive real number in base 10 to any base from 2 to 9. The main part that I am struggling with is putting the inputed value into an array so you can manipulate each element. So for example, if I'm converting 23 in base 10 to base 2, how would I put the 23 into an array so that I could go about converting it? Any help would be greatly appreciated.
  2 comentarios
Adam
Adam el 14 de Feb. de 2017
What is wrong with just:
a = 23;
?
Though I'd name it something more useful.
Jen Kirk
Jen Kirk el 14 de Feb. de 2017
I need to put each element of the number, the 2 and the 3, into an array so that I can manipulate each piece individually. I was trying to use num2str but it wasn't working..

Iniciar sesión para comentar.

Respuesta aceptada

Stephen23
Stephen23 el 14 de Feb. de 2017
Editada: Stephen23 el 14 de Feb. de 2017
Method one: num2str (does not work with decimal digits):
>> N = 23;
>> vec = num2str(N)-'0'
vec =
2 3
Method two: from powers of ten:
>> pwr = floor(log10(N));
>> vec = mod(floor(N ./ 10.^(pwr:-1:0)), 10)
vec =
2 3

Más respuestas (0)

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by