How do you change bases without dec2base, etc.?

4 Ansichten (letzte 30 Tage)
Jen Kirk
Jen Kirk am 14 Feb. 2017
Bearbeitet: Stephen23 am 14 Feb. 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 Kommentare
Adam
Adam am 14 Feb. 2017
What is wrong with just:
a = 23;
?
Though I'd name it something more useful.
Jen Kirk
Jen Kirk am 14 Feb. 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..

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Stephen23
Stephen23 am 14 Feb. 2017
Bearbeitet: Stephen23 am 14 Feb. 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

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by