Dualzahl in Dezimalzahl

Aufgabe:

Die Dualzahl 1101 entspricht der Dezimalzahl 13. Mit Maxima kann man auch einer gegebenen Dualzahl die zugehörige
Dezimalzahl errechnen. Es ist sinnvoll einfach die Liste der Ziffern in der richtigen Reihenfolge einzugeben.


Code 01
:

Dualzahl:[1,1,0,1]/* Eingabe, darf veraendert werden */;
n:length(Dualzahl);
Umwandler:makelist(2^(n-i),i,1,n);
Dezimalzahl:Dualzahl.Umwandler /* Skalarprodukt */;

Code 02:

Dualzahl:[1,1,0,1]/* Eingabe, darf veraendert werden */$
n:length(Dualzahl)$
Umwandler:makelist(2^(n-i),i,1,n)$
Dezimalzahl:Dualzahl.Umwandler /* Skalarprodukt */$
display(Dualzahl)$
display(Dezimalzahl)$

Code 03:

Dualzahl:1101;
Dualzahl_L:map(parse_string,charlist(string(Dualzahl)));
n:length(Dualzahl_L);
Umwandler:makelist(2^(n-i),i,1,n);
Dezimalzahl:Dualzahl_L.Umwandler;

wxMaxima:

Bildschirmfoto-wxMaxima 15.04.0 [ dual_in_dezimal.wxmx* ]

Sagecell:

Geogebra CAS:

Bildschirmfoto-Dualzahl_in_Dezimalzahl.ggb.png