function str2 = d2bin(n)
% produce in uscita la stringa str2
% corrispondente alla rappresentazione binaria del 
% numero intero n inserito in ingresso
%
% Se n non e' intero positivo, viene convertita
% la parte intera di n, ossia floor(n)
% presa con segno positivo

% tronchiamo il numero inserito e cambiamo segno se la parte 
% intera e' negativa
n = abs( floor(n) );

x = n;

if x == 0
    str2 = 0;
else
    
    str2 = [];
    while x > 0
        
        % in bit viene scritto 0 oppure 1
        % a seconda che x sia pari oppure dispari
        bit = rem(x,2);
        
        % si divide x per 2 e se ne tiene la parte intera 
        x = floor(x/2);
        
        % scriviamo il carattere corripsondente a bit
        % in str2
        
        str2 = [ num2str(bit) str2 ];
        
    end
    
end
