schon gesagt, also jetzt hier für den Teil habe ich jetzt also nichts weiter vorbereitet,
so nach Motto, das ist kritisch,
das sollte man jetzt nochmal durchgehen,
sondern also ich liebe jetzt letztendlich davon,
dass von Ihnen Fragen gestellt werden, dass man sagt,
okay, also vielleicht den Teil nochmal erklären oder das nochmal,
dann kann man das nochmal durchgehen oder es kann nochmal aus alten Klausuren dann also raussuchen,
ob ich da dann also nochmal entsprechende Informationen,
beziehungsweise da dann eben auch nochmal eine entsprechend andere Beispielaufgabe finde,
die wir dann also vielleicht gemeinsam hier nochmal durchrechnen.
Aber ansonsten kann ich jetzt immer nur sagen,
bin ich eigentlich jetzt die ganze nächste Zeit immer darauf angewiesen,
dass von Ihnen da jetzt noch Fragen da sind.
Ich habe gefragt,
zwar habe ich mich am Wochenende schon mal mit den Folien,
mit allen Folien beschäftigt und dann kam bei mir die Frage,
ist Greycode das gleiche die züglich einschrittiger Code oder gibt es da irgendwelche Unterschiede?
Gut, also die Frage war jetzt Greycode,
was ja also auch in der Probeklausur mit rankam.
Ob das das Gleiche ist wie ein zyklisch einschrittiger Code beziehungsweise
wie da die Unterschiede sind. Und ja,
müsste jetzt zugeben, bin ich jetzt also mathematisch von der
Definition nicht so weit drauf. Also ich würde sagen,
also ein Greycode ist ein zyklisch einschrittiger Code,
aber ich vermute, es gehört auch zyklisch einschrittige Codes geben,
die keine Gerägequote sind
Nee,
also Greycode ist jetzt einfach nach diesem entsprechenden Konstruktionsverfahren hergestellter Code,
aber im Prinzip, also gerade so bei diesen Codierungssachen,
das hatte ich ja auch vorhin schon so ein bisschen versucht an dem einen Beispiel,
sozusagen, wo man sich jetzt ja selber irgendwie so einen Code überlegen sollte,
ist man da natürlich doch immer relativ frei und kann da dann eigentlich sehr viele unterschiedliche Coudierungen oder Beschreibungen wählen.
Ich bloß, wenn es jetzt eben heißt, zyklisch einschrittige Codes,
Und dazu hatte ich ja in der Vorlesung zwei Konstruktionsverfahren vorgestellt.
Und das eine war dann halt eben quasi als Greycode.
Das andere als quasi grafisches Verfahren war ja jetzt ein Verfahren,
was im Prinzip darauf beruht,
dass ich mir also in einem KV-Diagramm einen Pfad suche.
Den KV-Diagramme sind ja eben so aufgebaut,
dass immer zwei benachbarte Felder sich jeweils um ein einzelnes
Bit unterscheiden
Und dadurch kann ich dann eben sagen, wenn ich... Jetzt müsste ich das mal schnell finden. Nicht,
also wenn ich jetzt, dass ich hier beispielsweise ein KV Diagramm nehme und Dort dann sage,
also ich lege mir jetzt hier also einfach so einen Pfad jetzt meinetwegen,
also über die 16 Felder so in der Art und Weise durch wie hier,
was dann also im Prinzip 0-1, 3,
2, 6, 7 und so weiter entspricht.
Nicht dann habe ich also einfach dadurch einen einschrittigen Code,
nicht und wenn das Ganze dann so aufgebaut ist,
dass der Endpunkt oder das Endquadrat also neben dem Anfang liegt,
dann kann ich daraus eben auch einen zyklisch einschrittigen Code machen,
aber das sind dann eben nicht zwingend Greycodes,
sondern Greycode ist ja eben entsprechend dieser Konstruktionsvorschrift,
also quasi dieses rekursive Verfahren,
was ich da ja auch schon vorhin vorgestellt hatte,
beziehungsweise, dass man letztendlich dann sagt,
ich erzeuge dann eben hier immer aufgrund dieser XO-Verknüpfung dann diese Bettwechsel.
Frage,
wir haben es beantwortet
Gut. Weitere Fragen? Ja, gerne.
Bei dir das Beispiel geht es eine Eromobie. Gut,
also die Frage war jetzt noch nach einem weiteren Beispiel für so ein ROB, DD,
was also jetzt hier in der Übungsaufgabe auch mit vorgekommen ist,
was also jetzt hier diese
Da müsst ihr jetzt wieder finden. Wenn ich also hier
diese Aufgabe 9 war, skizzieren sie ein,
den ROBDD für die Bursche-Funktion und so weiter.
Da muss sie jetzt zugeben,
also da habe ich jetzt also hier kein weiteres Beispiel,
da hätte ich jetzt also auch höchstens irgendwie aus der Vorlesung entsprechend die Folien.
Ansonsten, ich kann nochmal schnell gucken,
Aber in irgendwelchen anderen Übungsaufgaben war ja auch kein ROBDD mittleren, in den Musterlösungen.
Ob ich das irgendwie jetzt also aus vorherigen Jahren vielleicht noch was Passendes habe,
aber bin ich jetzt also irgendwie unbedingt zuversichtlich,
weil da waren es,
glaube ich,
keine weiteren Aufgaben
So,
das ist jetzt hier nochmal eine alte Probeklausur
Wie man sieht, die Aufgabentypen ähneln sich alle sehr stark.
Nee, das tut mir leid,
also da habe ich jetzt nichts weiter vorbereitet,
konnte ich jetzt also
höchstens anbieten
Dass man sich einfach mal,
also irgendwie eine beliebige Funktion nimmt und wir das versuchen,
also das jetzt hier einfach mal live zu konstruieren.
So, damit das jetzt nicht allzu kompliziert wird,
würde ich jetzt also eine Funktion mit drei Eingangsvariablen
nehmen.
Also B und See
Ja. Und... Ich gehe jetzt also irgendwie eine Funktion, beispielsweise Ja.
So. Ich muss zugeben, ich weiß jetzt nicht, was die macht.
Ich habe jetzt also einfach munter irgendwie nur den Einzelnen verteilt,
einfach um zu sagen, okay, das ist jetzt mal irgendeine beliebige Funktion.
Zu der werde ich jetzt versuchen, den, oder das,
ein ROBDD aufzuzeigen, zu entwickeln, in der Hoffnung,
dass das jetzt nicht allzu kompliziert wird,
weil das ist nämlich leider immer so ein Problem,
wenn man jetzt so irgendwelche Beispiele aus dem Stehgreif erfindet,
dass das natürlich sein kann, dass das dann also irgendwie Extremfälle sind,
wo das Problem dann explodiert und man sich da erstmal totrechnet.
Aber ich hoffe, das wird,
wird hier also entsprechend jetzt nicht der Fall sein,
um mal kurz irgendwie diesen Power-Safe-Mechanismus,
dass ein Monitor abschaltet,
kurz abknipsen
Gut, ist mir jetzt auch nicht klar. Deswegen,
das ist jetzt passiert. Gut, dann kann ich hier
nochmal zumindest schon mal schnell in das passende Kapitel springen.
Gut, hier wäre jetzt also als Beispiel ein Multiplexer.
Ich weiß ja dann also da nochmal Funktion mit drei Variablen
ist auch einigermaßen Nachvollziehbar von der Funktion, gut,
aber jetzt würde ich mal hier meinen, eigenes Beispiel nehmen.
Also, wie gesagt, wichtig, RBDD,
erstmal diese Ordnung, habe ich jetzt willkürlich gesagt, A,
B, C, in der Ordnung soll das passieren.
Ich würde das hier jetzt eigentlich auch genau machen,
wie in der, in dem Beispiel,
was ich also jetzt hier in der Musterlösung zu der Übungsklausur vorgerechnet habe.
Das heißt, ich würde erstmal Hier raus ein vollständigen Baum generieren.
Was also im Prinzip dann genau diesem Schritt entspricht.
Und anschließend dann eben gucken, wo kann ich Teile zusammenfassen.
Also sprich, wo ist das dann eben unabhängig von irgendwelchen Variablen.
Und könnte das dann eben entsprechend verkleinern. Das heißt,
als vollständiger Baum wurde sich dann also hier ergeben.
Ich fange also an mit dem Symbol
Ja, und er hätte jetzt eben hier unten entsprechend die jeweiligen Funktionswerte aufgrund dieser Reihenfolge,
kann ich dir dann einfach hier genau in dieser Reihenfolge hier aus der Tabelle abschreiben.
Das heißt, 0, 1, Noll, 1. 1,
0, 1, 1, 1, 1. Gut,
zu einem RBDD ist jetzt eben eine, in Anführungszeichen,
minimalform, der dann eben alles soweit zusammengeführt ist,
dass sich dann eben wirklich nur noch als Terminalsymbole eine eins und eine Null habe und dann eben entsprechend dieser Reihenfolge das Ganze aufgesplittet habe.
Und was da mit drin ist, aber wovon sie dann ausgehen können,
dass das so bei der Klausur dann,
wenn so eine Aufgabe dran kommt, also nicht so kritisch ist,
ist, dass eben die Art und Weise,
wie diese Funktion dann auch von der Komplexität her auch aufgebaut sind,
eben von der Art, der war ja,
oder von der Reihenfolge der Variablen abhängig ist.
Also die war nochmal so ein Beispiel,
wo im Prinzip zwei gleichartige Funktionen drin sind.
Nicht die hier einmal in dieser Reihenfolge diese Darstellung als ROB-DD
haben und einmal in dieser Reihenfolge diese Darstellung irgendwie extrem unübersichtlich ist.
Nicht wie gesagt, das kann jetzt eben bei solchen Beispielen passieren.
Bei dem, was in der Klausur rankommen sollte,
wird das aber schon irgendwo in der Art und Weise sein,
dass das also eigentlich noch problemlos und einfach handhabbar ist
Gut, wie gesagt, jede komplette Entscheidungsbaum hier, RWD dazu.
Jetzt versuche ich, dass er sich hier auch mal ansprechend zu minimieren.
So was man sieht, hier an dieser Stelle ist das
Ganze unabhängig, ob C, Null oder Eins ist.
Das heißt, wenn B eine Eins ist,
habe ich hier im Ausgang eine Eins. Das heißt,
wenn ich das dann in so einer Art und Weise aufschreibe,
wie das also im Prinzip hier auf dieser Folie drauf ist,
würde ich das dann eben minimieren, indem ich dann sage,
gut, dieser Tal hier fällt weg.
Das Ganze ist unabhängig von C und ich lande hier halt immer bei einer Eins.
Hier kann ich das nicht machen, hier kann ich das
nicht machen, hier könnt ihr das auch nicht machen.
Was man aber noch machen kann, was hier auch mit
drin ist. Hier bin ich, egal ob B,
gleich Null, oder gleich eins ist,
habe ich das Ergebnis hier abhängig von C. Wenn ich also
im Prinzip dieser Teil und dieser Tal sind ja identisch.
Das heißt, ich bin hier eigentlich unabhängig von dem B
und kann das rausschmeißen.
Also gehen weg und ich lande bei dem hier,
den kann ich mir
dann also auch
erstmal sparen
So, und das wäre jetzt eigentlich das,
wo ich sage, na gut,
jetzt bin ich hier mit dem entsprechenden Zusammenfassen,
also irgendwo mit meinem Latein am Ende,
würde das Ganze jetzt noch entsprechend schön ein bisschen besser aufschreiben und so,
dass ich dann eben nur noch die Terminalsymbole 0 und 1 habe.
Das heißt, ich hätte dann also hier A,
Bei A gleich. Null. Bei A gleich null
lade ich dann eben hier bei dieser Abfrage C,
bei Adleich 1 muss ich dann eben noch das B berücksichtigen.
So, bei B-gleich eins. Habe ich hier als Ergebnis eine Eins?
An dieser Stelle habe ich jetzt bei C. Gleich null.
Na eins. Und hier bei C gleich eins eine Eins.
Und in den Fällen, wo Ihr zählt gleich.
Null es. So weiß ich, wo hier. So,
das war hier die. Eins sein. Und dass hier
die eins oder eins ist, lande ich da bei der Null.
Nicht das wäre jetzt also hier für dieses Beispiel,
das passende RBBDD
Ich habe, um das aufzubauen, wie gesagt, am einfachsten,
erstmal diesen kompletten Baum zu nehmen, den zu entwickeln.
Und dann anschließend eben die gleichen Teile, beziehungsweise nicht benutzten Teile,
dann eben so weit raus zu kurz hinaus zu streichen, bis man das dann eben hier dann entsprechend so zusammenführen kann. Wenn sowas in der Übung,
oder nein, in der Übung nicht,
also in der Klausur drankommen sollte, Denke ich mir,
da kann man dann auch davon ausgehen,
dass es also nicht mit kompliziert hier durchstreichen und da was machen,
aufgezeichnet werden kann beziehungsweise dafür gibt es dann also auch noch reichlich Schmierpapier,
wo man dann also auch nochmal irgendwie sowas in Platte schreiben kann,
dann feststellen, Mensch,
da habe ich mir vertauen, also wie gesagt,
das ist also kein Problem,
das ist jetzt also auch keine Aufgabe oder nichts,
wo man da dann nachher oder generell in der Klausur jetzt also irgendwelche Riesengrafen entwickeln muss,
sondern es wird sich dann eigentlich so maximal in so einer
Komplexität,
wenn überhaupt,
Ja noch eine Frage dazu. Wie guckt man ab zu welcher Frage,
weil wir sind entweder ein Sehbeispiel oder zum Beispiel eine Quote und so, auf keinem neuen?
Gut, also hier in dem Beispiel war ja dieses F
jetzt irgendwas, was ich mir willkürlich ausgedacht habe.
Da habe ich jetzt einfach gesagt, okay,
ich habe eine Funktion mit drei Eingangsvariablen,
in demzufolge also hier acht mögliche Kombinationen,
habe jetzt einfach hier für dieses F irgendwas Beliebiges eingetragen,
wo ich also mir oder sagen wir gehofft habe,
dass es also einigermaßen vernünftig darstellbar ist
Und irgendwie was inniges mache. Das ist ja dann in der Regel
in der Klausur beziehungsweise in der Aufgabe vorgegeben. Gut,
ob das dann immer schon so eine Funktionstabelle ist oder wie jetzt in der Probeklausur,
beziehungsweise hier auch in den Aufgaben angedeutet, im Prinzip irgendwie symbolischer Ausdruck.
Das ist dann natürlich was anderes. Also da würde man also angenommen,
dies wäre jetzt irgendwie eine sinnige Funktion,
die kann ich natürlich auch durch den Bullschen Ausdruck beschreiben und sagen,
okay,
also für den und den Ausdruck
Erstellen sie den RBDD. Hier habe ich jetzt ja also
wirklich eine Funktionstabelle gemacht und gesagt, es könnte aber eben
auch wie in der Probeklausur einfach heißen für die Funktion.
Würde jetzt hier in diesem Beispiel folgendermaßen ausgesehen haben,
also wie gesagt, hier habe ich jetzt hier ein anderes Beispiel gemacht,
aber denken wir es ja auch nicht,
ganz verkehrt
Wenn ich jetzt frage, okay,
also wie könnte diese Aufgabe ursprünglich mal ausgesehen haben?
Hier habe ich jetzt die Funktion vorgegeben.
Was natürlich sein kann, ich kann das hier abwischen.
Was natürlich sein kann, ist, dass ich leiste also
nur einen guten Ausdruck zu stehen hatte.
Wenn ich jetzt frage, wie würde der aussehen?
Wie würde man
den ermitteln
Eine Idee von Diagramm und bestimmt dann gibt es synthetische Normalformen zum Beispiel.
Zum Beispiel, genau. Also nicht die Antwort war,
also man macht ein KV-Diagramm,
bestimmt dann eben irgendeine Minimalform und Zahlungshasedistinktiv oder Konjunktiv irgendwas,
was ein bisschen einfacher lesbar ist als eine Readmaler-Form.
Also was eben sein könnte, dass man dann eben einfach
nur so eine bulture Funktion hat. In dem Fall,
nicht dann sind wir nämlich eigentlich jetzt bei dem nächsten Aufgabentyp,
wo es eigentlich so um Funktion und Minimierung von Funktion geht,
also nehmen wir jetzt also hier wieder
dieses Beispiel
Und ich habe jetzt diese Funktion mit den drei Eingangsvariablen als KV-Diagramm,
würde ich dann eben sagen, ah, BC,
sieht das dann so aus, dass ich sage,
0-0,
0-1,
1-0,
1-
Ja, ich weiß jetzt also auch nicht, wie ich
das jetzt, also hier mal eben schnell dem Rechner abgewöhne.
Das ist hier mein Laptop leider, der dann immer mal das Bild verliert.
Ja, oder ein bisschen hektischer mit der Morsen hin und her
fahren von Zeit zu Zeit. Gut, also wie gesagt,
diese Funktion, wenn ich das jetzt hier in das KV-Diagramm übertrage,
null, null, null, diese Position, null,
0-0-1, diese Position eins,
dann wieder eine Null. Wichtig ist dann immer nur,
nicht dass das dann entsprechend dieser Bezeichnung hier ist,
nicht ansonsten, wenn man dieses Schema drauf hat,
also ich habe das vorhin ja auch gemacht,
also man kann das einfach immer so abschreiben,
man muss halt immer nur wissen, welcher Reihenfolge,
dass man sich da nicht vertut,
weil da kann man schnell Fehler einbauen,
da empfiehlt es sich dann auch immer noch mal zu kontrollieren.
Also 0101 0101 1, 0, 1, 1,
1, 0, 1, 1.
So, das wäre jetzt hier diese Funktion entsprechend so aufgeschrieben.
Echt, das wäre jetzt also hier nochmal so das, grundsätzlich das KV-Diagramm dazu. Wenn ich jetzt versuchen würde,
das zu minimieren, da sieht man schon,
dass wir natürlich dann diese gewählten Beispiele mit irgendwelchen Funktionen,
die sich jetzt nicht ganz so schön minimieren lassen,
würde mich also anfangen,
jetzt entweder alle Nullen für eine konjunktive Form oder alle einzeln für eine disjunktive Form entsprechend zusammenzufassen,
mitschleifen, was jetzt hier bei diesem Beispiel dann eben zum Beispiel so aussieht, dass ich sage, gut.
Irgendwo muss man anfangen, diese eins,
Kann ich mit dieser Eis zusammenfassen, also das Ganze ist ja immer quasi zyklisch verbunden.
Das heißt, ich habe hier dieses als erste Schleife,
wird beschrieben durch Adleich 1. Ich muss ja hier unten sein.
Und diese Stelle Und diese Stelle C gleich null.
Also ich habe hier die Kodierung 0-0 und hier 1-0,
sieh gleich null, also A gleich 1. Und sieh gleich null,
also zehnegiert, also A und C.
Dies unten habe ich hier jetzt immer nicht explizit geschrieben,
also wenn da jetzt nichts dazwischen steht, dann ist es immer ein logisches Ohr.
Sodass wir diese erste Schleife
So. Oder nächste Schleife, über die hier, als zwei,
wäre Adleis null, dann bin ich hier oben.
Also Adleis null ist A nicht. Und C gleich A1,
Nämlich hier und hier und das Ganze ist unabhängig von B.
Diese beiden Positionen, also A, nicht und C.
So, jetzt habe ich hier alles abgedeckt, diese Eins fehlt mir noch.
Und jetzt kann ich mir also aussuchen, ob ich hier
eine dritte Schleife lege oder hier eine dritte Schleife.
Ist egal. Nicht, weil das ist eine Minimalform,
keine Normalform. Normalform ist eindeutig, Minimalform
Dann immer schon mehr deutlich. Da kann ich jetzt also
was weiß ich nehmen. Eine Schleife, die so liegt,
also oder so dieses hier ist jetzt unabhängig von A,
aber es muss gelten, B gleich 1 und C gleich 1,
also B und C. Wenn ich das jetzt hier als dritte Schleife.
So und um jetzt nochmal wieder auf Ihre Frage zurückzukommen,
jetzt könnte es geheißen haben, Sorry.
In der ursprünglichen Aufgabe, also zeichnen sie,
dass den ROBDD für die Funktion mit drei Eingangsvariablen,
A und C nicht oder A nicht und C oder B und C.
Und was man dann machen würde,
wäre quasi als erster Schritt, sich die Funktionstabelle aufzuzeichnen,
und dann eben wieder den vollständigen Baum und dann den minimierten Baum daraus zu entwickeln.
Gut, also das wäre jetzt eigentlich so dieser Teil zu den Aufgabenstellung HLBDD
beziehungsweise ich habe ja dann auch noch mal kurz gezeigt,
also im Prinzip diese Minimierung in dem KV-Diagramm.
Ich versuche jetzt hier trotzdem noch mal irgendwie... Du weißt
euren Zahn, was dies ist. Es ist so,
dass manchmal diese negative Zeit durch eine Eins dargestellt wird und
ich weiß nicht, in welchem System ich bin.
Es gibt ja diese zwei Komplimente
Ich weiß nicht, wann du so einzelne Freunde stehst. Gut,
also die Frage war jetzt bei den Zahlensystemen zur Darstellung negativer Zahlen,
wenn da im Prinzip sowas wie vorne oder vorderstes Bit eine Eins ist,
wie da jetzt eigentlich genau die Zusammenhänge sind, beziehungsweise wann da was gemacht wird.
Und gut, da kann ich eigentlich immer nochmal auf die möglichen Ähm,
Arten und Weisen, äh, Hinweise,
wie man im Prinzip negative Zahlen grundsätzlich beschreiben kann.
Und da gibt es im Prinzip drei mögliche Verfahren, dass eine,
was einem eigentlich erstmal einleuchtet, ist im Prinzip sowas wie Betrag und Vorzeichen. Ich betrage und Vorzeichen ist eben,
dass ich sage, gut, also von meinen,
meiner Zahlendarstellung, wo ich dann eben sage, XN,
XN minus 1, das soll jetzt,
also hier in der Stellenwertkodierung, die jeweiligen Stellen sein,
bis X1, X0, sage ich eben gut,
das höchstwertigste Bit ist mein Vorzeichen, der Rest ist quasi der Betrag,
das heißt, dieses hier interpretiere ich dann als Unsignzahl,
die geht dann eben von null bis zwei hoch N-1,
minus 1,
Als größte darstellbare Zahl.
Und hier vorne kann ich eben sagen,
wenn das höchstwertigste Bit eine Null ist, das ist eine positive Zahl,
wenn das eine Eins ist, ist es eine negative Zahl.
Wenn ich also für Betrag und Vorzeichen. Das heißt,
da habe ich das immer so, dass alle negativen Zahlen vorne
eine Eins haben. Ist aber eine Art der Zahlenkodierung,
die man jetzt also eher selten benutzt,
beziehungsweise wo sie benutzt wird, ist bei Fließkommazahlen.
Da ist er explizit dieses eine Bit als Sign, wird gekennzeichnet.
Und das sagt eben, das ist zum Tralaladen. So,
und das sagt jetzt eben, komischerweise passiert das nicht,
wenn das Ding auf Akku läuft, also schalte ich die mal wieder um.
Gut, also das sagt jetzt eben, Positive oder negative
Zahl. Beispielskummerzahlen. Wenn ich jetzt irgendwelche Festkomma-Darstellungen habe,
also jetzt nichts mit Fließkomma-Darstellung, dann hat man als weitere Möglichkeiten,
eben entweder diese Exzess-Kudierung, Exzess-Kudierung ist
Im Prinzip, dass ich, also hier ist jetzt nochmal
Betrag und Vorzeichen für eine Vierbit-Zahl.
Nicht, wo ich dann eben sage, okay,
ich habe hier mit einem Vorzeichen null positive Zahl,
mit einem Vorzeichen einzelne negative Zahl.
Der Rest ist dann eben ganz einfach der Binärwert.
Und kann das dann einfach so direkt eurer auslesen?
Nachteil ist dann eben, wie ja hier auch schon angedeutet,
dass ich letztendlich sowas wie eine Plus-Null und sowas wie
eine Minus-Null habe
Was da jetzt natürlich dann auch nur bedingt Sinn macht,
beziehungsweise man hat dann eben da eigentlich ein bisschen von der Kodierung was verschenkt.
Diese Exzess-Kodierung, dieses Offset-basierte ist,
dass ich dann eben einfach sage,
ich nehme meine Zahl
Sage diese Zahl ist jetzt quasi einfach eine ganz normale Ansignzahl.
Das heißt also jetzt immer eine positive Zahl von null bis zwei hochn,
minus eins. Und von dieser Zahl ziehe ich irgendwie einen
festen Betrag ab oder einen festen Wert ab. Das heißt,
da muss man dann eben immer sagen, beispielsweise Access 127,
dann rechne ich dann quasi jetzt um zu der Kodierung zu kommen,
eben den Zahlenwert.
Mit diesem Offset von 1027, die ich dann eigentlich davon abziehe.
Hier ist das dann nochmal an einem Beispiel aufgezeigt.
Hier habe ich jetzt also beispielsweise für vier Bit die 16 möglichen Bitmuster.
Und wenn ich das jetzt eben als Access 8 mache,
nehme ich dann einfach quasi den Binärwert und ziehe acht
davon ab
Und dann habe ich letztendlich einfach hier meinen Zahlenwert oder meine Zahlenwerte,
die ich hier habe, entsprechend hier um acht verschoben.
Nachteil bei diesem Verfahren ist... Die Null ist dann
nicht mehr aus lauter Nullen kodiert, sondern je nachdem,
wie groß ich den Offset hier gewählt habe,
also hier Access 8,
die Access 6,
liegt hier also irgendwie hier beliebig bei irgendwelchen Zahlen
Und anderer Nachteil, ich kann also auch erst mal schlecht entscheiden,
ist eine Zahl negativ, ist sie positiv.
Aufgrund eines einzelnen Bits, was sich bei den anderen Kodierungen
immer machen kann. Das war ja auch das,
worauf die Frage so ein bisschen hinausging. Das heißt,
also eine Access-Kodierung ist auch immer irgendwie so ein bisschen Spezialfall,
wird eigentlich genau wie Betrag und Vorzeichen,
auch geht es wirklich rein praktisch,
nur für Fließkommazahlen benutzt,
um den Exponenten zu beschreiben
Das war ja,
wenn wir jetzt also hier nochmal wieder auf die Übungsaufgaben gehen,
wo es, oder auf die Probeklausur gehen, wo es,
wo ja also beispielsweise, also gefragt wurde,
also wandeln sie diese Dezimalzahlen in entsprechende Gleitkommazahlen um,
nicht nur für den Exponenten,
also für die Darstellung hier gilt eben das Ganze ist Eben hier so ein Access 127 Codierung,
das heißt, die 8 Bit, die dann hier verwendet werden,
um diese 2 hoch irgendwas zu kodieren.
Wir werden quasi jetzt interpretiert als Unsigned wird,
also der positive Wert, minus 127. Das heißt,
wenn ich hier haben möchte, zwei hoch null,
um zu sagen, zwei hoch null ist eins,
das heißt also hier wird das Ergebnis nicht weiter skaliert.
Nicht also um diese zwei hoch null zu haben,
dann wird eben in der Exzess 127 Darstellung dann quasi für acht Bit null,
eins, eins, eins,
eins,
Genormen und das ist dann eben die Darstellung der Null.
Nicht weil, erst mal als Binärwert kodiert, ist dieses 127.
Davon ziehe ich diese 127 ab und das Ergebnis ist dann
eben null. Ich habe, wie gesagt,
das taucht eigentlich auch nur eben bei diesen A-Treppe-I-Gleitkomma-Formaten auf
So, und das,
womit wir jetzt eigentlich in der Computerart metik jetzt eben rechnen,
wenn wir jetzt also normal mit den Zahlen sind,
dass sie dann eben im Prinzip Komplimentdarstellung,
das heißt entweder einer Kompliment Oder zweier Kompliment.
Und das kann man sich dann immer am einfachsten,
also hier sind wir mal so die verschiedenen Zahlen,
also hier ist auch nochmal Darstellung, negative Zahlen mit entsprechenden Beispielen.
Das kann man sich dann immer am einfachsten veranschaulichen.
Wo habe ich das denn jetzt hier wieder in den Folien?
Mit diesen Zahlenkreisen, also hier jetzt also als Beispiel für Vier Bit. Nicht bei Betrag und Vorzeichen,
habe ich hier die positiven Zahlen, hier die negativen Zahlen,
bei einer, einer Komplimentdarstellung, nicht rein praktisch,
also auf den Folien oder auf den Vorlesungsfolien ist das einer Kompliment immer dadurch hergeleitet,
dass das jetzt hier natürlich Also das ist dann hier entsprechend das B-1-Kompliment,
dass das dann hier jetzt natürlich entsprechend schick mathematisch beschrieben ist.
Rein praktisch kann man immer sagen, sieht das Ganze
ganz einfach aus, wenn ich hier irgendeine Zahl habe.
Nehmen wir meinetwegen jetzt hier diese Null,
eins als Satz, eins als eins. Also das,
was jetzt als 8-Bit, wie Nährzahl ohne Vorzeichen,
im Prinzip ein 127 ist.
Also,
127 zur Basis
Entspricht, dann quasi 0, 1, 1, 1,
1, 1, wenn ich das jetzt hier wie näher schreibe zur Basis
2. So, jetzt kann man immer sagen, ganz einfach,
einer Kompliment wird, kann ich dann eben immer dadurch bilden,
dass ich das einfach bittweise invertiere.
Das heißt, aus der 0 wird eine 1,
aus der 1 wird eine 0,
das kann man einfach
ganz stumpf abschreiben
1-0, 0, 0, 0, 0, 0, 0.
Nicht, das wäre da jetzt also entsprechend das.
Einer Kompliment. So, ich schreibe es bei dem Binär,
da hätte er nicht, dass es heißt,
also irgendwie irgendwas hier hoch zwei.
Und Wie man dann hier also auch an dem Zahlenkreis dann ja auch schon sieht,
also beim einer Kompliment habe ich letztendlich dann auch wieder sowas wie eine Minusnull.
Nicht weil die Null wird kodiert durch lauter Nullen.
Und wenn ich das jetzt mitweise umkippe, sprich lauter Einsen habe,
dann hätte ich sowas wie eine Minusnull.
Das ist eigentlich das,
was der Nachteil beim einer Kompliment ist
Deswegen, Zweierkompliment, wird dann eben dadurch gebildet,
was ich sage, im ersten Schritt mache ich das Ana-Kompliment
und dann rechne ich noch plus eins an der letzten Stelle.
Und dieses Plus-eins-Rechner an der letzten Stelle funktioniert bei ganzen Zahlen,
das, womit ich hier jetzt arbeite, genauso wie bei Kommazahlen.
Nicht nah. Probeklausur ging es ja irgendwie um Die Fragestellung,
ich habe 0,8 binär geschrieben, wie sieht minus 0,8 aus?
Und da sagt man auch für eine bestimmte Wortbreite,
nehme ich einfach den Binärcode für 0,8 und erzeuge daraus im Zweierkompliment,
die minus 0,8, indem ich das bittweise invertiere und an der niederwärtigsten Stelle eine Eins hinzu agiere.
Das heißt also, dieses hier würde genauso gelten,
wenn ich hier auf einmal irgendwie ein Komma drin stehen hätte.
Also das nur als Hinweis. Gut, also Zweier.
Kompliment wäre dann eben dieses plus eins, also eins,
0, 0, 0, 0, 0,
0, 1. Das heißt,
dieses hier ist minus 127 im einer Kompliment und dieses
hier ist minus 127 im Zweierkompliment
So, und um jetzt nochmal auf die Frage zurückzukommen,
mit der Eins an der höchstwertigsten Stelle,
was man ja häufig braucht bei irgendwelchen aragmetischen Operationen oder wenn
ich dann jetzt wieder ganz ans Ende der Probeklausur gehe,
wo es ja zum Beispiel also irgendwie so unbedingte Sprünge geht,
wo ich also irgendwelche Fragen abfragen habe,
ist eine Zahl kleiner Null.
Also sprich, es ist eine negative Zahl. Wert interessiert
mich nicht, ich will wissen, ist die Klarnannull.
Dann kann ich das bei diesen Zahlenkodierungen mit Betrag und Vorzeichen
Mit einer Kompliment und mit Zweierkompliment immer dadurch abfragen,
dass ich mir das höchstwertigste Bit nur angucke.
Weil bei allen diesen Codierungen, Befragung und Vorzeichen,
einer Kompliment-Zweierkompliment gilt, eine negative Zahl hat vorne eine Eins.
Dadurch kann man zum Beispiel sehr schnell dann für irgendwelche Operationen,
wenn es eben um solche bedenkenden Sprünge geht,
also entscheiden, soll gesprungen werden oder nicht.
Und das ist eben auch der Grund,
weswegen man jetzt nicht Gerne oder generell jetzt für solche Sachen,
also mit solchen Access-Codierungen arbeite,
weil da kann ich das eben beliebig verschieben,
verschoben haben und müsste dann letztendlich wirklich die Zahl genau interpretieren und mir das da dann irgendwie ausrechnen.
Deswegen das eben als Sonderfall beim Betrag plus Vorzeichen
gilt natürlich dann auch vorne eine Eins als negative Zahl.
Das heißt, wenn ich die 127,
so wie sie jetzt hier steht, als Negative Zahl,
bei einer Darstellung mit Betrag und Vorzeichen machen würde.
So, ich schreibe das hier mal kurz darüber.
Hätte ich dann das vorderste Bit als eins und den Rest,
der Betrag,
also die 127 bleiben
so stehen
Das dann eben als entsprechende Codierung. Ich war im Prinzip bei all diesen Dreierkodierungen gilt,
allein mit dem höchstwertigsten Bild, kann ich eben entscheiden,
es ist eine negative oder eine positive Zahl.
Jetzt kommt doch mal vor,
dass die Zahlen irgendwie einen Platz haben können, würde ich dumm sein,
wenn ich zum Beispiel das Wort nur zwei Glitter,
und ich sage an der Fupp darstellen,
da brauchte man eigentlich 30,
dann kann ich hier diese einzige Erreichung benutzen für die
pflegerische Zahl
Ja gut, das ist jetzt natürlich ein grundsätzliches,
also die Frage war jetzt, wenn die Zahlen eine bestimmte Größe hat,
dass man sie dann eben ja teilweise gar nicht mehr darstellen kann.
Also wenn ich also jetzt beispielsweise nur zwei bis zur Verfügung
habe und das soll also dann entsprechend eine Fünf dargestellt werden,
geht nicht, dann bräuchte ich eben entsprechend mehr Bit.
Und wenn ich also im Prinzip jetzt nicht nur positive,
sondern auch negative Zahlen zulasse,
dann bräuchte ich eigentlich dann also auch schon vier Bit,
um zu sagen,
ich habe eine Fünf und ich habe eben auch eine Minus Fünf.
Das ist eben etwas, was also hier in diesen Beispielen
ja gerade noch geht
Das ist aber ein grundsätzliches Problem,
dann eigentlich der Computerarent Metik, dass man dann eben sagt,
gut, wie groß ist eigentlich mein Zahlenbereich,
was kann ich damit darstellen?
Das ist ja eben auch einer der Gründe,
weswegen zum Beispiel jetzt hier, also seitens der Betriebssysteme letztendlich,
also der Übergang von 92
zu 64,
bitte Rechnern
Notwendig war oder gemacht wurde, weil man sagen konnte,
okay, Hauptspeicher ist erschwinglich. Hauptspeicher wird adressiert beidweise.
So, jetzt habe ich 4 Gigabyte Speicher. Und 4
Gigabyte als größte Zahl ist halt eben noch genau das,
was ich mit 32 Bit Wortbreite adressieren kann.
So, inzwischen kann man sagen, na gut,
also 4 Gigabyte Speichel, das ist also hier irgendwie so
ein Einsteigermodell.
Nicht inzwischen will man schon
deutlich mehr haben
Das kann ich mit 32 Bit-Adressen, aber nicht mehr adressieren.
Das heißt, da brauche ich eben eine größere Wortbreite.
Und das sind eben letztendlich dann Sachen, die dafür verantwortlich sind,
also mit welchen Zahlen Bereichen arbeite ich,
weil das ist eben etwas,
was für uns letztendlich ja immer vor Augen führen müssen,
dass wenn ich jetzt hier irgendeine Binärdarstellung habe und ich
maximal Endstellen zur Verfügung habe,
also von X0 bis XN
Und ich habe jetzt... Ich habe jetzt nur positive Zahlen.
Dann ist eben der größte Wert, wenn ich das jetzt
also quasi zur zialen Basis 2 mache, zwei hochähnen.
Minus 1. Nicht weil mehr kann ich damit eben letztendlich nicht darstellen. Wenn ich jetzt auch noch negative Zahlen zulasse,
Hätte ich zwei hoch en minus eins minus eins als größten Wert und dann ist es dann nachher wieder davon abhängig,
arbeite ich mit Betrag und Vorzeichen und einer Kompliment oder arbeite ich mit Zweierkompliment,
bei Zweierkompliment ist der Zahlenbereich schon leicht asymmetrisch,
da habe ich noch eine,
das sieht man also hier auch ganz gut,
schnell die mal ausbewegen,
da habe ich dann eben hier auch noch entsprechend die größte darstellbare Zahl bei vier Bit,
ist sieben positiv
Aber negativ dann eben minus acht, nicht weil das da dann eben nochmal einen verschoben ist.
Gut, und das ist dann eben letztendlich immer was,
was man in der Programmierung, Softwareentwicklung dann eben sieht,
also je nachdem, welche Datentypen man da wählt, womit man dann arbeitet.
Und das sind auch, sagen wir mal,
so ein bisschen wieder von der Sprache abhängig, was man da macht.
Ich hatte angenommen, ich weiß,
ich möchte nur auch eine ganz kleine Zielvariable haben,
die ist also was, was ich von null bis Zehen läuft,
kann ich sagen, ja gut, also 0 bis 10,
das kriege ich also noch irgendwie mit 4 Bit kodiert.
Nicht, dann bräuchte ich eigentlich nur irgendwie eine 4 Bezahl.
Gut, das gibt es als Datentype, also inzwischen glücklicherweise
alles nicht mehr. Das war also früher mal, als
der Computerspeicher teuer war und überhaupt alles. Sagen wir mal,
in C ist es da dann aber eben immer noch üblich,
also einen Charakter zu nehmen und darauf zu rechnen,
weil Charakter ist 8 Bild, als quasi kleinster Typ.
Nicht, sondern anderen Sprachen oder ein Java,
da gibt es unter 32 Bit gar nichts. Davon abgesehen,
dass es natürlich dann also auch beliebig fehleranfällig ist,
im Prinzip Charakter, also etwas,
was von der Idee her eigentlich für was anderes gedacht ist,
als eine, in Anführungszeichen, Kurs sozial zu missbrauchen.
Aber gut, das ist jetzt wieder ein anderes Problem. Ich habe aber,
wie gesagt, das ist dann eben immer die Sache,
womit rechne ich, wie groß werden die Zahlen, was passiert da? Und das ist dann auch generell natürlich irgendwie so ein Problem oder Eigenschaft, also jetzt irgendwie in der Computerarentmetik. Also ich weiß nicht,
inwieweit sowas jetzt also teilweise dann eben auch schon bei Softwareentwicklung jetzt schon dran war,
wird aber, denke ich mal, dann später sicherlich Auch noch mit Komm,
wo es dann eben auch darum geht, dass man natürlich,
also sagen wir jetzt eben in mathematischen Ausdrücken, das ist ja etwas,
was sich dann also hier auch ganz am Anfang mal so ein bisschen versucht habe zu motivieren,
eben solche Effekte haben kann, dass, wenn ich jetzt eben sage,
ich rechne jetzt also irgendwie sowas wie A, mal B,
mal C, mal die, mal E durch irgendwas,
dass es also dann eben sein kann,
dass bei den Zwischenergebnissen auf einmal die Zahlen zu groß werden,
als dass ich das noch irgendwie vernünftig darstellen kann,
auch wenn hinterher, nachdem ich das dann durch irgendwas anderes geteilt habe,
dann auf einmal wieder im richtigen Wertebereich bin, ich dann eben,
gut, früher hat man das dann eben gemacht,
dass ich dann gesagt habe, gut,
ich rechne also A, mal B,
mal C durch eh mal irgendwas und so weiter,
dass man da diesen Zahlenbereich macht,
aber dass das letztendlich wieder solche Probleme, wie man das vernünftig macht,
beziehungsweise ob es da dann eben zum Beispiel,
also aufgrund intelligenter Comparla-Mechanismen dann eben auch Automatismen gibt,
dass man sich da dann vielleicht nicht selber mit Turm kümmern muss,
weil das ist dann nämlich wieder das nächste Problem,
dass man dann häufig meint er also jetzt irgendwie mit intelligenter Programmierung da also irgendwie was zu machen, was dann aber doch dazu führt, dass es hinterher dann also irgendwie knallt.
Gut, also das vielleicht nochmal zu den Zahnsystemen.
Jetzt habe ich sehr weit ausgeholt,
aber die Frage mit den Vorzeichen hat sich damit geklärt,
Mir erscheint jetzt also nichts weitergekommen zu sein. Ja,
wie sieht das mit weiteren Fragen aus, Sie Herrn?
Ja, wenn man einen Haftplan hat. Und da muss man
den Krediback am Ende geben. Ob man, was nur
am Ende machen? Ja. Und danach nimmt man alles,
wo die mal den Einzelbuchstabe in den Kontrollverkehr. Ja,
würde ich immer, würde ich eigentlich immer so machen,
dass man also im Prinzip erst diesen Baum generiert und dann hinterher dann nochmal den,
den Code quasi in so einer Tabelle auflistet.
Wie kommt es hier her
Buchstaben in verschiedenen Kontrollen. Warte, was, Luca,
warum ist er dir auf, was denn,
wenn wir als Kunde Ablehnung wechseln, nach uns.
Manchmal kriege ich dieses Baum zum Beispiel,
scheide es zum Beispiel am Arm, vor links, ja,
vor links habe ich ja kein Null und am Eisheft hier.
Na, nee, stimmt nicht ganz. Also hier ist es
ja einmal vertauscht. Also das ist jetzt wegen dieser Abbildung.
Und da habe ich mich erzählt, von links und rechts
habe ich mich erzählt. Aber wie die,
dann ist das in Papa und Papa,
also meinen Baum,
Verschieben oder nicht? Weil bekomme ich dann die anderen Kunden. Ja,
gut, das, gut,
also die Frage war erstmal bei Huffman-Baum,
wenn man den jetzt zur Kodierung nutzt,
also in der Probeklausur ging es ja so im Prinzip um die Symbolkodierung jetzt als als Farno-Code,
also nach dem Farno-Shannon-Verfahren,
als zweites Verfahren gibt es ja dieses baumbasierte Verfahren nach Huffman,
wo man dann sich im Prinzip so einen Baum aufbaut,
werde ich gleich auch ein Beispiel vielleicht nochmal zeigen
Hinterher, wenn man jetzt also aus dem Baum den aufgebaut hat,
die Symbole zusammengefasst hat, da dann also einen Code schreibt,
dass der nicht zwingend eindeutig ist.
Und gut, da kann ich jetzt eben auch sagen,
da haben sie im Prinzip recht,
weil auch eigentlich, muss ich jetzt sagen,
also auch bei dem Shannon oder Fahnhoferfahren ist es natürlich so,
gut,
ich wünsche das hier mal kurz
Sauber. Ich komme gleich zu dem Hafenbaum, aber jetzt
nur um zu zeigen, was er so grundsätzlich das Problem ist.
Da haben Sie nämlich völlig recht. Also ich in der Probeklausur,
also in Aufgabe, Sechs ging es ja darum.
Jetzt hier für diese Symbolhäufigkeiten eine Fahne-Kodierung aufzubauen.
Und da war ja also im Prinzip erster Schritt,
sortieren hinsichtlich der jeweiligen Häufigkeiten dann zusammenfassend immer in diese gleichen Gruppen,
was ja dann dazu geführt hat, dass ich sage,
okay, ich habe hier A mit 0,35 C mit 0,2.
Die mit 0,1. 8. B mit 0,1. 5. Und e mit 0,1. 2. Nicht,
dann wird das hier also irgendwie entsprechend so immer partitioniert unterteilt.
Dann habe ich gesagt, okay,
hier alles links von der Unterzahlung kriegt eine Null.
Die kriegen hier eine 1. Dann mache ich hier wieder genau
das Gleiche. Dann habe ich hier jetzt,
da ist es eindeutig, deswegen habe ich das jetzt
hier nicht weitergebracht
Hier das als eine, das als zweite Gruppe machen,
der kriegt hier wieder eine Null, die kriegen hier eine Eins.
Und dann lande ich hier und dann habe ich quasi hier als Code für BC,
die E entsprechend 0-0, 1, 1,
0, 0-1, 1-0 und 1, 1, 1.
So, und das würde ich am Ende auch immer noch mal vielleicht noch mal so explizit zusammenschreiben,
weil auch hier kann ich natürlich sagen, es geht erst mal darum,
das zu unterteilen, die eine Gruppe kriegt eine Null, die andere kriegt eine Eins.
Ich kann genauso sagen, ich mache hier quasi genau das Gleichverfahren,
mache hier Einsen, hier Nullen,
wenn ich unterteile das jetzt also irgendwie anders, dass ich sage,
hier ist 1-0, 1-0, 0,
1-0 und sage, okay, also das,
was links ist, kriegt eine Eins und das, was recht ist, kriegt eine Null.
Nicht, das ist also genauso eingültiger Code, erfüllt die gleichen Bedingungen,
hat genau die gleichen Eigenschaften, sieht aber eben,
wenn ich den dann eben hier aufschreibe, entsprechend völlig anders aus.
Gut, das war also jetzt hier für dieses Verfahren nach Fahnung.
Wie bei dem Verfahren nach Hafman,
wo man das dann also im Prinzip über so ein baumartiges Verfahren macht,
nicht auch da kann ich jetzt natürlich sagen,
wenn ich so einen Baum habe, Also hier ist irgendwie ein Knoten.
Nicht links geht die Null, rechts geht ihr eins raus.
Das ist nicht zwingend Gott gegeben. Ich kann mir das
also genauso auch völlig anders machen. Also man sollte da
nur irgendwie konsistent bleiben und landet dann natürlich beim anderen Code.
Deswegen. Keine Regeln, das ist nur in der Stelle. Ja,
also genau, da gibt es eigentlich keine zwingende Regel,
sondern gut, hat sich irgendwie eingebürgert.
Man fängt mit Null an und macht dann die A1 als,
aber man kann es genauso gut andersrum machen.
Ich wollte dir dann nach den Hass noch mal ein bisschen,
weil an dem eine Erfahrung ging
Ja, ja. Also, äh, äh... Also,
eine Kodierung, also wenn ich das nach dem Verfahren von
Huffman aufbaue, die erfüllt auch immer die Fahne-Bedingungen.
Ist halt eben nur ein anderes Verfahren. Für diejenigen,
die das jetzt vielleicht nicht so ad hoc drauf haben,
kann ich das ja also hier noch mal versuchen an diesem Beispiel durchzurechnen.
Also dieses war jetzt dieses Verfahren nach Fahne,
wie sieht das Verfahren nach Huffman aus? Dazu Hier,
versuch hier dann nochmal schnell den Algorithmus zu finden.
Also das war hier das Verfahren nach Fano,
nach Halfman ist das dann im Prinzip hier als Pseudo-Algorithmus beschrieben und dann eben für ein Beispiel,
wo man dann also auch, beziehungsweise hier ist es eigentlich,
Pseudo-Algorithmus beschrieben, Dann eben nochmal ein Beispiel,
was also mit ein bisschen größeren Zahlen dann also auch rechnet.
Es ist dann also hier auf diesen folgenden Folien nochmal zu sehen.
Nicht, wo man dann eben hier so einen Baum aufbaut. Ja,
und gut, hier ist eben auch so dieses klassische,
also links eine Null rechts, eine Eins,
aber das ist eben letztendlich völlig egal.
Gut, wie würde das jetzt hier bei diesem Beispiel aussehen
Also als erstes Ordnung der Urwörter anhand ihrer Wahrscheinlichkeiten,
diesmal jetzt mit einer anderer Reihenfolge, quasi vom Kleinsten zum Größten.
Also hätte ich eh B, B, C. Und A,
anschließend werden die beiden mit den Kleinsten Wahrscheinlichkeiten zusammengefasst,
durch ein neues Symbol ersetzt und dieses neue Symbol kriegt als Wahrscheinlichkeit
Die Summe dieser Wahrscheinlichkeiten. Das heißt also,
aus E und B erzeuge ich mir quasi jetzt ein...
Ich nenne das jetzt einfach mal X,
also auch wenn das jetzt irgendwie unschön ist.
X, was eine Wahrscheinlichkeit von 0,27 hat.
So dieses X wird dann in den Rest wieder richtig einsortiert.
Also hätte ich D mit 0,18. See mit 0,2. Jetzt noch
ein neues X mit 0,27. Und dann das A mit 0,35. Gut,
anschließend Wo dieses Verfahren jetzt eben genauso weitergeführt, iterativ,
die beiden mit den kleinsten Wahrscheinlichkeiten werden wieder zusammengefasst, nenne ich jetzt Y.
Dann habe ich jetzt eben hier noch X mit
Y hat dann als Wahrscheinlichkeit 0,2 plus 0,18,
also 0,38. Also habe ich jetzt hier A mit 0,35.
Und Y mit 0,38. Dann wieder genau das Gleiche.
Die beiden mit den Kleinsten
Wahrscheinlichkeiten zusammenfassen
Seid genannt. Und dann habe ich hinterher also im Prinzip Y
mit 0,38. Und anschließend das Set mit hoffentlich und kopfreichen und
schwach 0,6. 2. Boah, die Summe ist immer noch eins,
jetzt kann ich das Ganze nochmal zusammenfassen.
So, und daraus würde man jetzt den Kotbaum, aufbauen,
indem ich sage, ich habe jetzt hier meine Wurzel.
Gehe dann quasi jetzt hier,
meinetwegen zu Y und hier zu Z. Y
wurde zusammengesetzt
Aus D. Und C. Z wurde zusammengesetzt aus X. Und A,
dieses Ex, wo dann eben jetzt nochmal wieder Im ersten Schritt erzeugt aus E.
Und B. So, das heißt, das wäre dann der Kotbaum,
der sich jetzt nach diesem Algorithmus jetzt also über diese Huffman-Kodierung heraus ergibt.
So, und dann kann man jetzt eben auch sagen,
willkürlich Verzwagung nach links zu dem kleineren,
ist eine Nullverzwagung nach rechts,
ist eine Eins
Das Ganze wird eigentlich dadurch noch schlimmer, dass sie dann auch sagen,
auch hier kann ich natürlich D und C eigentlich permutieren und dann vertauschen.
Nicht, das sind eigentlich auch immer äquivalente Codes. Nichterweise,
wenn ich jetzt hier bei diesem Code bleibe,
dann kann ich jetzt eben sagen, okay, B,
C.de,
mein A wäre jetzt hiernach kodiert als 1-
1. B wäre 1-0-
C wäre 01. D wäre 0, 0. Und E wäre 1, 0, 0.
Das wäre dann eben so ein Hafenbaum. Wie gesagt,
also da Kann ich jetzt eben sagen,
einen gleichen Kot oder mit den gleichen Eigenschaften hätte ich jetzt eben auch,
wenn ich hier also irgendwie mal 0 und 1 vertausche,
also was weiß ich, das B jetzt nicht als 1,
01, sondern das 1-0-0 und das E dann eben als 1-0-1 kodiere.
Nicht, aber auch hier ist es eben immer so, dass ich diese Prefix-Freiheit drin habe.
Das heißt, entsprechend hier kein war es eben Prefix eines anderen Wortes. Das heißt,
es gilt die Fano-Bedingung,
das Ganze ist eben eindeutig dekodierbar und in dem Baum,
das sieht man jetzt eigentlich immer sehr schön,
zeigt sich diese Fano-Bedingungen, nämlich dadurch,
dass wenn ich also irgendwo einen Baum hätte und eins dieser Symbole,
also jetzt wirklich der ursprünglichen Symbole,
also das ist ja das hier von A bis D ist,
jetzt eben hier an einem Knoten in der Mitte läuft oder durchlaufen wird,
dann wäre das ja ein Prefix von allem,
was danach kommt.
Nicht aber dadurch,
dass sich die Symbole jetzt hier nur an den Endknoten des Baumes habe,
habe ich dann eben da eigentlich dann auch automatisch dann
so ein Prefix-Freiheit mit drin
Gut, da war jetzt nichts weiter. Gerne. Wir
machen so lange nach drei, also ist es legistriert oder
nach dreijähriges Adressmaschinen. Es gibt unterscheidende. Gut,
also die Frage war jetzt, ob es einen Unterschied macht,
wenn ich ein Programm jetzt als Programm jetzt mit drei Adress Befehlen mache oder?
Agiles Maschine oder meine Adresse Legister. Steht am Hunde. Ja,
das, nee, das, das, nee,
das, das ist dann vielleicht blöd formuliert,
was es da aber eigentlich als Äquivalent gemeint.
Also ich, ich würde dann immer sagen,
also eigentlich drei Adressmaschine und typischerweise sind dann aber diese drei Adressen eben immer genau Registeradressen.
Zumindest bei dem, was dann also beispielsweise auch wir,
also hier in der Probeklausur, nicht also hier hinten drin war,
also hier steht also drei Adressmaschine, aber das,
wo ich hier also drei Adressen drin stehen habe,
das sind dann immer jeweils nur Register, die adressiert werden.
Grundsätzlich muss man sagen, naja gut,
das ist eigentlich immer so ein bisschen mit Einschränkung zu sehen,
weil, also sag mal, zum Beispiel vom X86-Befehlsatz könnten hier auch in den Befehlen Speicheradressen stehen.
Also da ist das möglich, weil also drei Adressmaschine heißt dann eigentlich immer nur,
dass ich also in einem Befehl drei Adressen drinstehen haben kann.
Prinzipiell ist erst mal noch nicht unterschieden, also ob die jetzt nur auf Register oder auch auf den Speicher abbilden. In der Regel,
also sprich sowohl bei den Übungsaufgaben,
als auch hier bei der Probeklausur, wird das immer so verwendet,
dass, wenn ich mit drei Adressen rechne,
dass Registeradressen sind und rein praktisch wird das eigentlich auch immer so sein,
weil das kommt jetzt wieder eigentlich von der Idee der Risk-Rechner,
dass ich eben mit einem Befehl, also beispielsweise einem 32-Bit-Breiten-Befehl,
natürlich schon mal gar nicht den gesamten Speicher richtig adressieren kann und wenn ich da jetzt also noch irgendwie drei Adressen in einem Befehl unterbringe,
dann habe ich also pro Adresse eigentlich nur fünf oder sechs Bit zur Verfügung und das sind dann eigentlich nur welche,
wo wo ich sagen kann, okay,
damit kann ich dann also meine 32 Register noch unterscheiden.
Und das war's. Deswegen ist das da dann eigentlich üblich,
dass diese Abbrechner noch Register sind. Ja,
also von daher habe ich am Anfang vielleicht was Falsches gesagt.
Also es können auch Speicheradressen sein,
aber in der Regel sind das also immer nur Registeradressen.
Nicht aber im Text oder so, da spricht man immer von drei Adressmaschinen.
Wobei, das war ja auch schon einer der Fragen vorhin bei der Übungsklausur.
Also wenn so was oder solche Aufgabenstellungen drankommen,
weil das nicht einheitlich ist, muss eigentlich immer,
so wie hier, so eine Art formale Beschreibung mit dabei sein,
was mit diesen Befehlen gemeint ist.
Und dadurch wird das dann eigentlich eindeutig,
und dann kann man damit auch vernünftig arbeiten,
dann gibt es also auch keine Diskussion hinterher bei der Korrektur,
beziehungsweise bei der Benotung, nicht,
also da ist es dann kein Problem.
Hat das die Frage, gut
Klage, mein Amt, glaube ich, 4,
4, 5, 6, 7, 7,
6, 7, 7, 8, 9,
9, 9, 9, 9, 9,
9, 9, 9, 9,
die, die, die,
die ging jetzt also nochmal zurück auf diese eine Aufgabe Aufgabe 4 mit dieser Alttrippe I-Zahlendarstellung.
Und zwar, also jetzt speziell auf diese 1,25,
wie das, sagen wir jetzt richtig,
kodiert beschrieben wird, was man da machen muss.
Dazu muss ich jetzt eben nochmal hier auf diese eine Folie aus der Klausur ververweisen,
weil das ist immer ein, sagen wir mal,
so ein bisschen immer ein Trick, also mit diesem A-Treppe-I-Kodierung,
beziehungsweise eine Sache, über die man also schnell mal stolpert.
Also das ist im Prinzip dieses je, dass ich sage von den 32 Bit,
die jetzt also bei dem Single-Precision-Format verwendet werden.
Das erste Bit ist dieses S-Sahen, das Vorzeichen wird.
Null positive Zahl 1, negative Zahl. Danach habe ich
7-Bit für den Exponenten. Der Exponent ist jetzt eben immer als Access 127 Darstellung,
entspricht dann quasi dieser Darstellung und dann habe ich von den 23-Bit für die Mantiste,
wenn es sich um eine normalisierte Zahl handelt,
Diese 23-Bit von der Interpretation her als Nachkommastellen.
Und dieses 1, vorneweg ist dann eben bei dieser normalisierten Darstellung
dann ja immer schon implizit mit drin und wird dann nicht mit benötigt.
Dadurch kriegt man etwas größeren Wertebereich. So,
und jetzt haben Sie ja auch schon ganz richtig gesagt,
wenn ich jetzt also im Prinzip eine 1,25 nehme und das jetzt erstmal in eine Fixkommazahl umrechne,
Ist das dann ja ein Envinärdarstellung, dann auch eins,
null, eins, nämlich eins, plus null mal 0,5 plus einmal 0,25. Hervorragend, dahinter kommen nur noch Nullen.
Und das soll ja jetzt in dieses Format hinein einfach abgebildet werden.
Und da ist jetzt eben genau dieser Trick, dass ich sage,
gut, Vorzeichen, als positive Zahl ist null.
Normalisiert ist das Ganze schon. Das heißt,
ich habe hier genau eine Stelle vorm Komma und gut ist.
Das heißt, als Exponent muss ich das mit eins multiplizieren.
Nach zwei komischen, dann gibt es nichts dazu. Nee,
ich bin jetzt erstmal noch bei dem Exponenten. Also als Exponent muss dort eins oder nein, muss ich das mit eins multiplizieren? Dadurch,
dass ich hier immer Zwei Hochexponent minus 127 habe, muss also quasi,
oder müssen diese sieben Bit für diese Exzess 127 Darstellung,
dann eben genau 127 sein,
weil dann rechne ich 127, minus 127 ist 0,
2, hoch 0 ist 1. Das heißt also,
hier habe ich dann 0, 1, 1,
1, 1, 1, 1, 1,
1,
1. Nicht,
das wäre jetzt hier quasi mein E,
nicht und dann entsprechend dann
eben zwei hoch 127 minus
127. So. Und dann habe ich die Mantise,
das ist genau diese 1,01. So, und diese 1,
Komma, die wird nicht metkodiert, die ist implizit mit drin.
Und dann habe ich jetzt bei den Nachkommastellen dann eben 0-1 und dann eben nur noch die Nullen dahinter. Ich denke mal, die expandieren dran, fast versponnen. Ja,
das ist das,
weil das jetzt eben genau diese Darstellung ist nicht und da muss er jetzt immer immer gucken,
also wie muss das Ganze skaliert werden und gerade jetzt wegen der,
dieser Exzess-Darstellung, also das muss ich zugeben,
also damit habe ich also auch meine Probleme,
dass mal eben so schnell irgendwo rauszulesen und gut,
also bei den Rechnerstrukturen gibt es also irgendwie so einen blöden Dozenten,
der fragt sowas gelegentlich mal, ansonsten würde ich sagen,
hat man ein Applet oder kann das irgendwo automatisch irgendwo ausrechnen,
dann muss er das nicht machen.
Ja gut, das ist jetzt hier nochmal zur Vertiefung
Vom Verständnis her, also wie das letztendlich sieht,
aber das ist dann die Art und Weise,
wie das hier funktioniert.
Gut, dann... Raum betreten, Raum verlassen,
da hat sich nichts so weit da getan.
Ja, dann
Ist jetzt schon kurz nach fünf, hat noch jemand Fragen,
dann würde ich die noch entsprechend beantworten.
Ansonsten würde ich hier den tapferen Streit und von Lecture Turgodi
hier ausgehalten haben, also auch mal den Feierabend gönnen.
Und dann Schluss machen. Ja. Gut,
dann danke für die Fragen und ja,
sonst kann ich eben nur sagen,
wenn noch irgendwie was ist, wenn noch irgendwelche Unklarheiten sind,
also morgen nach wie vor immer noch,
beziehungsweise auch nur als Hinweis,
also noch hat das also
irgendwie keiner genutzt
Ich wäre dann auch immer zusehen,
also ob ich nochmal jetzt quasi per Mail nachgucke,
das wollen wir gar nicht wissen, was da noch alles irgendwie aufgelaufen ist,
beziehungsweise dann hier eben über diesen Jabba Client dann nachgucke,
können sie das Ganze dann, also auch online noch fragen,
von 13 bis 17 Uhr,
beziehungsweise dann eben entsprechend morgen da noch live vor Ort.
Gut, dann Feierabend. Auch schönes Lernen,
beziehungsweise ansonsten kann ich immer nur sagen, eine erfolgreiche Klausur,
aber gehe ich davon aus, das Bestehen,
also ein grundsätzliches Bestehen sollte erstmal nicht das Problem sein oder so schwierig sein.
Also sag mal, das Bestehen,
das schafft man eigentlich mit ein bisschen Vorbereitung dann schon immer.
Gut, ja, dann war es das von mir aus