FB18 - Das Forum für Informatik

fb18.de / Diplom Informatik / Unterbereich Grundstudium / Praktische Informatik

umwandlung(Binärzahl,Dezimalzahl)

umwandlung(Binärzahl,Dezimalzahl) 2003-03-28 14:18
Anonymer User
umwandlung(Binärzahl,Dezimalzahl).

umwandlung([],0).
umwandlung([T|Rest],X):-T=0, umwandlung(Rest,X2), X is X2*2.
umwandlung([T|Rest],X):-T=1, T2 = [0|Rest], umwandlung(T2,X2), X is
((X2*2)+1).


Hallo Leute,
kann mir vielleicht irgendjemand sagen was daran falsch ist?
Danke im voraus!


Re: umwandlung(Binärzahl,Dezimalzahl) 2003-03-29 12:50
Slater
günstig ist immer, wenn man mitangibt, wieso man auf die idee kommt, das das falsch ist (fehlermeldungen, beispielrechungen, ..)

ich glaub das mit dem verdoppeln klappt nicht so gut
(beispiel 10111, und per hand ausrechnen), zumal bei der dritten regel sogar vervierfacht wird (wieso?)

wie wärs mit dem klassischen wege, rekursiv die länge der restliste und damit die position jeder 1 bestimmen und dann mit 2^position multiplizieren und draufaddieren