Mo Logo [Home] [Lexikon] [Aufgaben] [Tests] [Kurse] [Begleitmaterial] [Hinweise] [Mitwirkende] [Publikationen]

Mathematik-Online-Aufgabensammlung: Lösung zu

Interaktive Aufgabe 1536: Umwandlung von Dezimal- in Dualdarstellung in Matlab


A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Eine Programmvariante, die auch mit einem Stellenvektor arbeiten kann:


function d=dual(n)

if (10*sum(n(1:end-1))+n(end)>1)
  d=mod(n,2); % Reste der Stellen bei Division mit 2
  n=(n-d)/2;  % geraden Stellenanteil halbieren
  ind=find(d(1:end-1)); % ungerade Anteile
  n(ind+1)=n(ind+1)+5;  % Uebertrag von 10/2=5  
  d=[dual(n),d(end)];  % Rekursion
else 
  d=n(end); 
end

[Aufgabe]

  automatisch erstellt am 31.  3. 2010