Matlab中的数字系统转换(从不同系统到十进制)

时间:2015-03-29 05:58:47

标签: matlab numbers system

最近我通过MatLab询问了有关将数字从十进制转换为其他数字系统的帮助。现在我需要反向操作的帮助。我把编写的程序从不同的系统转换为十进制并面对问题,当涉及到将十六进制(base = 16)转换为十进制时。我需要制作A = 10,B = 11等数字。尝试制作switch-case,但它没有帮助,即使它在从小数转换时工作

clc
clear all
n = input('select number system n=');
base = input('base= ', 's');
for q=1:length(base)
    if ~(str2num(base(q))>=0 && str2num(base(q))<n)
        error('Error.\nInput base must be greater than n.',class(n))
    end
end
i = 0;
dec = 0;
while length(base)>i
    i = i + 1;
    dec = (dec+ str2num(base(i)) * n^(length(base) - i));
end
disp(['dec=' num2str(dec)])

0 个答案:

没有答案