How to convert the digits of a number in a higher number base to an array
2 views (last 30 days)
Show older comments
I converted 32 to base 18 using the code
A=dec2base(32,18)
and the output was
'1B'
I want to convert the digits of 1B to an array [1 B]. so i used the code
num2str(A)-'0'
Which gave me an output
ans =
1 21
Instead of ans= 1 B. Please help.
8 Comments
dpb
on 2 Aug 2021
Edited: dpb
on 2 Aug 2021
Newer releases of Matlab do support hexadecimal notation, but otherwise, only base 10 numbers are allowed outside of text datatypes." @Rik
While not really pertinent to the discussion, Forth has the system constant BASE that lets one define the base dynamically...
BINARY
...everything here in base 2
DECIMAL
...now we're back in base 10
that is extremely handy and that I miss.
: DECIMAL 10 BASE ! ;
: HEX 16 BASE ! ;
: OCTAL 8 BASE ! ;
: BINARY 2 BASE ! ;
are the common defining words. Of course, one needs be certain DECIMAL is in effect when defining the above!!! :)
Just a sidebar into days of yore..."we now return you to your regular programming".
Answers (0)
See Also
Categories
Find more on Characters and Strings in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!