How to convert the digits of a number in a higher number base to an array

2 次查看(过去 30 天)
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 个评论
dpb
dpb 2021-8-2
编辑:dpb 2021-8-2
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".

请先登录,再进行评论。

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Characters and Strings 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by