Presente de natal: função do Matlab para conversão de bases numéricas

Esta função levei uma hora de estudo para desenvolver, lendo o primeiro capítulo de Shokranian, Salahoddin. Criptografia Para Iniciantes (Brasília: Editora UnB, 2005)

o M-file pode ser baixado clicando aqui

%REPRESENTA Representação de um número decimal em uma base arbritrária
%
%   [M,S,Z]=REPRESENTA(K,B) retorna a representação do decimal K na base B
%   colocando a representação numérica no vetor M, a representação em
%   uma string de soma potências em S e a mesma representação
%   desconsiderando zeros na string Z
%
%   M=REPRESENTA(K) retorna a representação do decimal K na base binária
%   no vetor numérico M
%
if nargin==2
    b=varargin{1};
else
    b=2;
end
s=sprintf('base: %d',b);
disp(s);
m=[];
while k>0
    %k
    %disp('novo algoritmo');
    m=[mod(k,b) m];
    k=floor(k/b);
    %[k m]
    %pause
end;
s='';
z='';
for n=1:length(m);
    %na representação binária, podemos tanto mostrar...
    s=strcat(s, sprintf(' + %d*%d^%d',m(n),b,length(m)-n));
    %... como omitir os zeros
    if(m(n))
        if(m(n)==1)
            z=strcat(z, sprintf(' + %d^%d',b,length(m)-n));
        else
            z=strcat(z, sprintf(' + %d*%d^%d',m(n),b,length(m)-n));
        end
    end
end
s=regexprep(s,'^ \+ ','');
z=regexprep(z,'^ \+ ','');
disp(s);
disp(z);

Usando Tungsten E2 no Windows Vista

A palmOne disponibilizou no seu site, versão Estados Unidos, na seção de downloads, uma versão beta de seu novo software de sincronização de dispositivos móveis, o Palm Desktop 6.2.1

Já é possível utilizar este dispositivo junto com o mais recente sistema da Microsoft, sem ter de recorrer a versões anteriores, porém, a cada sincronização surge uma mensagem de erro:

Failed to Backup 1 File(s)
PM Trace Database
Protocol Error: Handheld File could not be opened (4004)
SYNCERR_FILE_NOT_OPEN.
Continuar lendo