Ja, willkommen bei Rechnerstrukturen. Am Mittwoch hatte ich ja im Prinzip aufgehört bei dem Teil,
wo es darum ging, zwischen unterschiedlichen Zahnsystemen, also sprich unterschiedlichen Zahlenbasen, umzurechnen. Und von den drei möglichen Verfahren,
die ich eigentlich hier vorstelle oder vorstellen werde, nämlich einmal eine Benutzung von Potenztabellen,
Divisionsrestverfahren und dem Mornerschema, hatte ich also die ersten beiden soweit schon kurz vorgestellt,
also wie gesagt bei Potenztabellen geht es darum,
dass ich also diese vordefinierten Tabellen habe und dann eben letztendlich immer die entsprechend passenden größten Werte,
die ich da dann noch in meiner Zahl drin habe,
subtrahieren muss und das Ganze verfahren dann eben entsprechend wieder auf den Rest anwende und dadurch, dass entsprechend mache.
Beim Divisionsrestverfahren, wie gesagt, sehr elegant,
wenn man von Dezimal in Dualzahlen umrechnen möchte,
war eben das Grundprinzip, dass ich immer durch die Basis des Zielzahlensystems,
das heißt bei der Umrechnung in Dualzahlen,
also durch zwei jeweils teilen muss,
dann eben hier den ganzzahligen Anteil und den Rest habe und dann eben hier diesen ganzzahligen Anteil entsprechend wieder nehme und damit weiterrechne,
ihm entsprechend widertale, meinen Rest erhalte und so weiter und so fort und das Ganze wird eben so lange iteriert,
bis das Ergebnis null ist und die jeweiligen Anteile des des Rests entsprechend dann eben den Stellen,
in dem Stellenwertsystem, nicht vorbei, das,
was ich dann also zuerst ausgerechnet habe,
dann also quasi das niederwärtigste Bit letztendlich wird, das,
was ich zuletzt ausgerechnet habe,
das höchstwertigste Bit.
So, hier ist das Ganze auch nochmal quasi so in
Pseudoprogrammiersprache als Algorithmus beschrieben. Ich glaube, wie gesagt,
das ist eigentlich genau das gleiche Verfahren. So,
dass Horner Schema als drittes Verfahren ist eigentlich genau die Umkehrung davon,
rein mathematisch gesehen. Und zwar ist da die Idee,
dass ich also die Zahl oder das, was ich umrechne,
eigentlich als Potenzsumme darstelle.
Das heißt, ich habe ineinander verschachtelte Faktoren. Das heißt,
wenn ich jetzt also eine Zahl habe,
die dann eben entsprechend Summe koeffizient mal Zahlenbasis hoch I ist,
kann ich das Ganze eben auch entsprechend schreiben als A
hoch N minus 1 mal
Plus auch N minus 2, das dann wieder in Klammern,
mal B plus auch N minus 3, wieder komplett alles geklammert,
mal B und so weiter, bis sich dann eben hier
am Ende plus A 0, also plus des niederwärtigsten Witz reichen.
Und wenn man das entsprechend aufdröselt, das entspricht eigentlich genau der Vorgehensweise,
wie sie vorher also quasi umgekehrt beim Divisionsrestverfahren gemacht habe.
So, damit kann ich jetzt,
wenn ich also hier beispielsweise eine Dezimazahl in eine Dualzahl umrechne,
würde das eben erst mal so aussehen,
dass also die Darstellung der Zahl 163 in dieser Schreibweise eine Potenzsumme ist eben ein,
mal zehn, das ist eben genau diese Eins, plus sechs.
Nächmal habe ich nämlich 16, mal zehn, plus drei.
Das wäre dann also entsprechend die Darstellung jetzt als Potenz zu
Mönch und das kann man dann also wirklich eins zu eins,
hier die jeweiligen Stellen 1, 6 und 3 in diese Summe eintragen.
So, anschließend Würde ich also hier jetzt das Ganze nehmen
und die Beteiligten Zahlenwerte in das Zielsaalsystem umsetzen.
Das heißt also aus diesen Dezimalzahlen 10, 6,
3 und 1 würde ich eben die entsprechenden Dualzahlen machen.
Und anschließend hätte ich dann eben quasi diesen reichen Weg,
hier jetzt mit den Dualzahlen durchzurechnen, also ein mal 10,
plus 6 ist Dual dann eben 1, 0,
0, 0, wieder mal 10,
beziehungsweise 10 dann ebenentsprechend in der dualen Schreibweise,
also 1-0, 1-0,
wäre dann eben dieses Plus 3 und damit hätte ich dann mal ein Ergebnis.
So. Dieses Ganze ist jetzt eigentlich für den umgekehrten Weg nämlich besser geeignet. Sprich,
wenn ich jetzt also eine Dualzahl in eine Dizzimalzahl umrechne,
dann ist also das Horner Schema eigentlich vergleichsweise schnell und elegant
In dem Fall hätte ich jetzt also hier als Ausgangswerte umzurechnen,
ist eben 1-0-1-0,
0-0-1-1.
In der Darstellung als Potentsumme ist das dann also,
sagen wir mal, dieser etwas längliche Ausdruck,
wobei dann eben auch direkt quasi diese 1,
dem Koeffizienten hier entspricht, diese null.
Der null, die 1 ist dann eben dies hier,
erde ich dann wieder die null hier und so weiter und
so fort.
Also man kann das direkt aus der Zahl
dann eigentlich hier entsprechend eintragen
So, dann wird genau, wie in einem anderen Fall,
die Umrechnung der Beteiligten, Größen in das Zielzahlsystem gemacht,
nämlich einmal die 1-0, also sprich die zwei,
aus dem Dual in das DCMA-System,
die 1 und die 0,
das ist hier natürlich jetzt fürgleichsweise trivial.
Und anschließend wird das Ganze an eben wirklich entsprechender Klammerungsschritt für Schritt
ausgerechnet. Das heißt, da rechne ich einmal 2,
Mal zwei, plus eins, mal zwei, plus null und so weiter und so fort,
bis ich dann also hier bei 163 angekommen bin.
Damit lassen sich dann eigentlich relativ elegant solche Umrechnungen machen,
gerade auch, wenn wir jetzt also ein bisschen größere Zahlen hat,
also hier als Beispiel,
hätte ich jetzt diese Zahl 1-0-1-1,
1-0-1-1,
0-0-1-1-1,
was dann also dezimal nachher 2.999 ergibt.
Sieht dann so aus, dass ich letzten,
also hier ist es jetzt nur ein bisschen anders damit ich das,
dass ich ihn noch irgendwie halbwegs nicht auf die Folie kriege.
Hier die Zahl entsprechend mit den jeweiligen Stellen.
Ich fange quasi an mit einer Summe von null,
müsste dann eben rechnen, Summe mal zwei, plus dem jeweiligen Koeffizienten.
Das ist dann also quasi hier einfach immer dieser innere Therm,
das, was ich also dann schon als Ergebnis habe,
mal Basis plus den jeweiligen Koeffizienten
Wurde da dann eben sagen, eins,
plus zweimal 0 ist eins,
im nächsten Schritt diese eins, mal zwei,
plus 0, das ist jetzt nämlich genau diese Stelle,
deswegen ist das hier immer so ein bisschen jeweils blau bzw. rot,
farbig hervorgehoben.
Dann hätte ich also quasi Summe 2. Im nächsten Schritt
würde ich dann eben diese zwei mal zwei plus eins,
dann bin ich jetzt hier also an dieser Stelle
Er halte die 5, 5 mal 2 plus 1,
habe ich 11. 11 mal 2 plus 1 und so weiter und so fort.
Bis man dann, wenn man also hier hinten die letzte Stelle abgearbeitet hat,
1.4499 mal 2 plus 1, bei meiner umgerechneten Zahl,
angekommen bin.
Gut, das war jetzt eigentlich noch der Abschluss zu
dieser Umrechnung der verschiedenen Zahlensysteme
Jetzt geht es eigentlich noch darum, welche Zahlenbereiche kann ich darstellen?
Wie kann ich negative Zahlen darstellen? Und dann eben nachher
sowas wie Nachkommastellen beziehungsweise abschließend, denke ich mal,
werde ich heute auch noch zu kommen.
Oder zumindest anfangen, dann denen der Bereich der Fließkomma-Darstellung erläutern.
Gut, erst mal zu den Zahlenbereichen.
Wenn ich jetzt also im Prinzip jetzt nur ganze Zahlen habe,
habe ich dann logischerweise jetzt bei der Zahlenbasis 2 mit entsprechend Nbits,
dann also quasi immer einen Zahlenbereich von 0 bis 2 hoch
N minus
Wenn ich das heißt, also bei Vierbett,
hätte ich dann eben entsprechend 16 Zahlen von 0 bis 15
zur Verfügung bei 8 Bett von 0 bis 255
und so weiter und so fort.
Beziehungsweise bei 64 Bett hätte ich dann eben hier 18 Trillionen,
446. Billiarden,
Billionen,
Milliarden,
Millionen und so weiter
Gut, um jetzt solche Zahlen so ein bisschen handhabbarer zu machen,
verwendet man dann ja eigentlich in der Schreibweise dann eben auch noch entsprechende Prefix-Angaben. Das,
was wir jetzt also aus dem normalen Dezimalsystem kennen,
sind dann natürlich typischerweise irgendwelche Zehnerpotenzen,
also wenn ich jetzt also sage, grob geschätzt,
stimmt nicht ganz, Lichtgeschwindigkeit, 300.000 Kilometer pro Sekunde,
beziehungsweise 30 Zentimeter Bonano-Sekunde,
das ist dann eigentlich eine Größe,
die jetzt eher für uns nachher interessant ist,
werde ich dann also auch nochmal so
ein bisschen drauf zurückkommen
Weil das ist, sag ich mal,
jetzt also wieder für Informatik beziehungsweise diese ganze technische Entwicklung,
wenn ich das jetzt wieder auf Moris Lord zurückkomme, ganz spannend. Nicht,
wenn man sich anguckt,
ich habe also irgendwie so ein Ship mit zweimal zwei Zentimeter Kantenlänge und der läuft mit einer Taktfrequenz von meinetwegen dreieinhalb Gigahertz,
dann kann man sich da dann nämlich mal ausrechnen,
wie weit, also quasi ein Impuls oder eine,
wenn ich jetzt also irgendwie eine Leitung von 0 nach 1 anschalte oder von 1 nach 0 umschalte,
wie war die dann überhaupt kommt?
Und dann ist man nämlich schon in dem Bereich,
dass ich also nachher dann also innerhalb der Taktrate
gar nicht mehr von einer Ecke des Ships zum anderen komme
Gut, aber jedenfalls, also Lichtgeschwindigkeit,
nicht dann so typische Sachen aus der Physik,
hohe Energie des Elektrons, 0,51, Mega-Elektronvolt, Strukturberater von Chefs,
beispielsweise 22 Nanometer und so weiter und so fort.
Entsprechend gibt es eigentlich auch zu den Brieffixen,
die wir jetzt, also Außendiszinimalsystem kennen, auch welche,
die eben im Dualsystem gelten,
da zu werden,
dann typischerweise vielfache von 2
hoch 10 verwendet
Sprich, entsprechende Vielfache von 1024. Dazu komme ich dann auch
gleich noch mal kurz. Umgangssprache, ich würde das dann
oft mit 1000 aus dem Dezimalsystem gerne mal gleichgesetzt.
Ich mache das vielleicht auch irgendwann mal,
beziehungsweise es kann hier auf den Folien vorkommen.
Das ist dann immer eigentlich so ein beliebter Fehler,
wo man sagen kann, also wenn man das ganz genau nimmt,
dann stimmt das so dann nämlich eigentlich nicht.
Gut, im Dezimalsystem typische Prefixe, eigentlich Kilo,
Mega,
Giga,
Was dann eben 10 Uhr 3, 10 Uhr 6,
10 Uhr 19.12 Uhr sind und entsprechend größere Werte,
beziehungsweise bei den kleinen Bereichen, Dezi und Senti.
Gut, das hat man eigentlich jetzt bei Metern. Wir haben dann eben Millimekronano,
Pico Felmto und so weiter. Im Dualsystem würde man,
oder gibt es also jetzt inzwischen, also auch entsprechend standardisierte Prefixe,
und zwar zwei hoch zehn, für eigentlich ausgesprochen Kiwi,
um das zu unterscheiden, sollte dann eigentlich KI geschrieben werden.
Als Prefix davor 2 hoch 20 Megi, also Mega-Binary,
2 hoch 30 Giga, Terrabinary und so weiter und so fort.
Und das sind dann eben demzufolge dann immer mal 1.024,
beziehungsweise mal 2 hoch 20, also eine Million 48.576,
nicht während Also wie gesagt, Kibibit,
was dann eigentlich richtig ist, wenn Kilo bitter,
nehme ich eigentlich von der Schreibweise her mal 1000 führen.
Werden, glaube ich,
in der Klausur, also die Frage war jetzt,
also ob man die auswendig lernen muss, also sie wären,
glaube ich, in der Klausur jetzt also nicht irgendwie zwingend nachgefragt.
Und wenn jetzt jemand sagt, also was ist,
also Jotta und Setta, also spätestens dann muss ich sagen,
das sind da so Einheiten,
die so selten vorkommen.
Also wüsste ich jetzt auch nicht
Ja, also ich denke mir,
da kann man dann nachfragen, beziehungsweise gut,
ich denke mir, die meisten von diesen Einheiten,
zumindest das, was so typischerweise gebräuchlich ist,
das wird man sich da dann auch noch entsprechend jeweils merken.
Gut, ja, hier auch nochmal eben, wie gesagt,
diese Anmerkung, wie sie das eben jetzt im Dualsystem mit diesem Präfixen aus.
Meistens, gerade wenn man jetzt irgendwelche Prospekte liest oder irgendwelche Beschreibungen von irgendwelchen Systemen,
wären also die offiziellen Präfixe eben eigentlich nicht sauber verwendet.
Das heißt, da steht dann eben KB und
nicht K, IB
Gemeint sind dann aber teilweise eben wirklich Kibi. Beet,
also sprich 2 hoch 10, also 1024 mal irgendwas und nicht tausendmal irgendwas.
Oft ist es eben so, also typischerweise zum Beispiel bei Speicherbausteinen,
weil die also eigentlich immer in zweier Potenzen organisiert ist,
sind, kann man davon ausgehen, also wenn da steht,
also derer Modul mit ANGB Kapazität,
dann ist es eben eigentlich nicht ANGB Kapazität,
sondern gemeint sind es 2
hoch 30 Breit
Das heißt, es müsste dann eigentlich Gigabinary sein,
was dann eigentlich als Vorsilbe GI ist,
aber wie gesagt, meistens wird das dann nicht geschrieben.
Bei anderen Sachen, also beispielsweise,
wenn ich so irgendwie eine Festplatte kaufe und da steht also ein Terabyte,
dann sind in der Regel eigentlich wirklich,
also auch zwei, nee,
zehn hoch neun,
nee,
zehn hoch zwölf
Gemeint, so schnell fährt man rein, nach zehn, noch zwölf Jahre richtig.
Beziehungsweise hier steht es ja auch, also dann eben wirklich,
also auch zehn, noch zwölf entsprechend mit gemeint. Wobei,
also wenn man bei Festplatten sowieso, also die Kapazität,
insofern nicht eins zu eins, wirklich den Benutzer zur Verfügung stehe,
sondern dadurch, dass da Dateisysteme auf der Platte angelegt werden,
geht dann also sowieso noch einiges an.
Verwaltungsinformationen beziehungsweise an, sagen wir mal so,
Reservespuren beziehungsweise bei Flashspeichern dann eben entsprechenden Sachen mitzuverloren,
war es dann eben einfachheitstechnisch bedingt noch woanders benötigt wird. Gut,
das also jetzt nur noch mal zu den Briefixen,
dann das, was ich bislang jetzt vorgestellt hatte,
beziehungsweise auch die Umrechnung, waren jetzt eigentlich immer ganze Zahlen,
beziehungsweise am Mittwoch war es auf einer Folie,
also auch schon mal irgendwie so ein bisschen was mit Nachkommastellen,
da ging es nämlich darum,
wie man jetzt ja so aus irgendwelchen Dualzahlen,
Orktal beziehungsweise Hexadezimalzahlen abliest.
Da werden dann ja quasi immer Gruppen von drei beziehungsweise vier Bit
entsprechend zusammengefasst. Und wenn ich eben einen Dezimalpunkt drin habe,
fange ich bei den Vorkommastellen quasi an,
von da aus zu gehen, wenn ich Nachkommastellen habe,
muss ich das dann aber eben auch von da aus bei dieser Gruppenbildung berücksichtigen.
Generell kann man erstmal sagen, Festkommadarstellung,
wenn ich jetzt also wirklich gebrochene Zahlen habe,
Ist das eigentlich rein technisch gesehen erstmal nichts anderes,
als dass ich sage,
ich habe hier irgendwo meine Vorkommastellen von jeweils Index 0 bis N minus 1.
Und ich habe dann eben quasi als Faktoren dann eben beispielsweise jetzt
beim Inärsystem dann eben 2 und 0, 2 auch 1 und so weiter.
Zur Verfügung und eben dann als Nachkommastellen würde ich dann eben
quasi als größten Wert dann 2 auch minus 1,
2 auch minus 2 und so weiter haben und gehe da
dann also quasi jetzt in den Bereich der Nachkommastellen,
beziehungsweise insgesamt kann ich das dann eben auch so in eine gemeinsame Formel bringen.
So, Nachkommastellen im Dualsystem, hier auch erst mal einfach als Potenztabelle aufgeschrieben,
zwar auch minus eins, 0,5, 2,
minus 2, 0,25, 2, minus 3,
0,1,25 und so weiter und so fort.
Generell ist jetzt die Sache, dass Alle Dualbrüche,
wenn ich die eben in das Dezimalsystem umrechne, exakt darstellbar sind.
Das heißt, ich habe dann eben auch eine endliche Wortlänge.
Andersrum, und das ist jetzt nämlich eigentlich immer das Entscheidende,
gilt das eben leider nicht. Das heißt,
es gibt eben gebrochene Zahlen,
die dann eben je nach Wahl der Basis,
also auch gerade jetzt eben beim Dualsystem dann eben typischerweise
unendliche periodische Bräuche werden
Hier ist das Ganze jetzt also auch noch mal kurz gezeigt.
Hier hätte ich jetzt also im Prinzip für die Zahlen von
0,1 bis 0,9 die jeweiligen Dualbrüche,
wenn ich das jetzt also quasi aus dem Dezimal in das Dualsystem umsetze.
Und wie man dann also hier sieht,
habe ich hier dann also quasi um eine 0,1 darzustellen,
eben schon so einen periodischen Bruch.
Das heißt, diese letzten vier Ziffern,
0,0,11 würden sich dann eben hier entsprechen
Unendlich lang wiederholen. Da ich typischerweise nur eine begrenzte Wortbreite habe,
kommt es deswegen eben dazu, dass irgendwann quasi Sachen abgeschnitten
werden bzw. gerundet werden und ich dann eben zu Ungenauigkeiten komme.
Selbst wenn ich vergleichsweise einfache Zahlen habe, die also quasi
im Dezimalsystem jetzt wirklich nur eine Nachkollerstelle haben. Andersrum,
wie gesagt, wenn ich jetzt hier aus dem Dualsystem,
hier jetzt also beispielsweise jetzt mit drei Nachkommastellen in das Dezimalsystem,
umberechne, da sieht man, da habe ich dann eigentlich immer kein Problem,
sondern hätte dann eben jeweils endliche Darstellungen.
Ja, stimmt. Auch das mal wieder einer der
beliebten Flüchtigkeitsfehler wird nachher noch korrigiert. Danke. Gut,
also wie gesagt, hier muss es logischerweise dann also Null.
Komma 1 heißen, das heißt also die 0,5 dezimal ist,
ist da natürlich, hat er noch die eine Hotenz.
Gut, wenn ich jetzt Nachkommastellen bzw. Zahlen ineinander umrechne,
auch da habe ich im Prinzip eigentlich die Verfahren,
die ich jetzt also gerade eben im Vorkommabereich vorgestellt hatte,
also auch zur Verfügung, also hier nur mal kurz angedeutet,
also zumindest jedes Mal wieder richtig
Umrechnung von Dezimalbuch in Dual kann ich also zum einen natürlich mit einer Potenztabelle machen,
wenn ich jetzt das hier vorberechnet,
meine zwei Potenzen habe und dann eben die jeweiligen Dezimalwerte und ich müsste jetzt eben den Dezimalwert 0,3 umrechnen,
würde ich dann eben auch quasi anfangen zu gucken,
von 0,3, was ist also jetzt hier die entsprechende größte Dualzahl,
die jetzt hier quasi noch passt, die ich also entsprechend abziehen kann,
dass wir also quasi zwei auch minus zwei,
also 0,25, demzufolge, es war auch eins,
passt nicht, den müsste ich einmal abziehen,
dann habe ich also noch 0,005 nach demzufolge passt,
zwei hoch drei dann nicht mehr, das ist der hier,
zwei hoch vier, passt auch nicht,
das ist der hier,
dann kann ich aber von den 0,05 dann,
also die zwei minus fünf wieder abziehen und würde da dann eben was entsprechendes erhalten,
hätte dann eben hier dann einmal 2,
minus 5 und müsste das dann dementsprechende Reihe nach durchrechnen und irgendwann stelle ich dann also vielleicht fest,
dass ich da aber dann eben auch sowas wie so eine Periode ergibt.
Nicht wie man sieht, dass es dann also vergleichsweise mühseliges Verfahren, um sowas umzurechnen, aber wie gesagt, dann nicht zu illegal. Andersrum,
hier also auch nochmal angedeutet,
die Umrechnung von einem Dezimalbuch ein entsprechende Dualzahl beziehungsweise hier das Ganze jetzt eben ein bisschen eleganter ist,
wer dann also quasi mit dem Divisionsrestverfahren,
was dann also in diesem Fall dann so aussieht,
statt der Division, also anstatt durch zwei zu teilen,
wird bei den Nachkommastellen mit zwei multipliziert,
wenn das Ergebnis kleiner eins ist,
wird eben eine Null an den Dualbruch angefügt,
wenn das Ergebnis Größert leicht eins ist,
wird eine eins an den Dualbruch angefügt.
Das entspricht dann nämlich quasi dann letztendlich dem,
was also vorher mal der Rest war.
Und diese eins wird dann dementsprechend abgezogen.
Das heißt, der fällt dann letztendlich raus. Ja,
und das Ende ist dann eben, wenn das Ergebnis null wird.
Hier als Beispiel die Umrechnung der Dezimalsaal 0,59375,
würde dann eben so aussehen, dass sich das Ganze mit zwei multipliziere.
Erhalte dann
Das ist größer eins. Also schreibe ich hier quasi als Rest dieser eins auf.
CDA ist auch entsprechend ab. Hätte dann eben noch 0,0875 über,
würde das dann eben auch wieder mit zwei multiplizieren.
Ich bin jetzt immer noch kleiner als eins,
hätte dem zuvor gegangen, hier als,
ich sag jetzt mal, Rest, eben dann eine Null.
Das Ganze dann wieder mal zwei, wieder eine Null.
Dann die 0,75 mal zwei wäre dann 1,5.
Damit bin ich dann wieder größer als eins
Das ziehe ich ab und muss dann eben mit den 0,5 weiterrechnen
und das Ganze dann eben so lange, bis letztendlich die Null erreicht wird.
Und die Stellen gehen dann eben hier quasi jetzt anders herum
als beim Divisionsrestverfahren bei den Vorkommastellen.
Das heißt also zwei Wochen minus eins ist das erste,
was ich berechnet hätte, zwar auch minus zwei,
das zweite und so weiter und so fort.
Und insgesamt habe ich dann eben diese Dezimalzahl in diesen oder
diesen Dezimalwochen,
diesen Dualbruch dann eben umgerechnet
Gut, dann haben wir jetzt erstmal ganze Zahlen,
wir haben irgendwelche gebrochenen Zahn, wie sieht es mit negativen Zahn aus?
Dazu gibt es dann auch im Prinzip erstmal drei mögliche Verfahren,
nämlich zum einen kann ich sagen,
ich nehme Betrag und Vorzeichen,
kodiere dann eben quasi negative Zahlen dadurch explizit,
dass ich eben nochmal irgendwo das Vorzeichen mit dran schreibe,
beziehungsweise dann eben dafür
ein Bitch spendiere
Dann gibt es Offset-basierte Codierungen, sogenannte Exzess-Codierungen und dann eben Komplimentarstellungen.
Das, was uns dann eigentlich am meisten mit begegnen wird,
so viel hier am Kabel gespielt. So, also das,
was uns jetzt also am meisten eigentlich mit begegnen wird in der Informatik,
sind eigentlich Zweier-Komplimentarstellungen, etwas,
womit dann also im Prinzip eigentlich indischer Zahlen typischerweise dargestellt werden und bei Fließkomma-Zahlen,
also Gleitkomma-Darstellung,
da arbeitet man dann eigentlich mit so einer Art Mischung von Betrag und Vorzeichen,
beziehungsweise für den Exponenten wird dann typischerweise ein Access-Kulierung genommen.
Das werde ich jetzt also im Folgenländer noch ein bisschen genauer erläutern,
Betrag und Vorzeichen ist eigentlich relativ trivial.
Ich nehme jetzt also ein Bit beispielsweise das höchstwertigste Bit im Englischen dann auch immer als MSB,
Most Agnificant bezeichnet und sage, damit kodiere ich das Vorzeichen,
wenn dieses Bit Null ist, habe ich eben eine positive Zahl.
Wenn dieses Bit 1 ist, habe ich eine negative Zahl
und bei 4-Bit-Wortbreite würde das dann eben quasi so aussehen,
wie er eigentlich hier in dieser Tabelle beschrieben.
Nachteil bei dem Ganzen ist zum einen, was man hier sieht,
ich habe also eine Null und eine Minusnull,
also sprich die Null ist einfach irgendwo doppelt kodiert.
Das ist dann natürlich Ja, gut gefühlt,
auch erstmal irgendwie nicht so schön, also ein bisschen Verschwendung.
Ein weiterer Nachteil ist eigentlich jetzt bei dieser Darstellung mit Betrag und Vorzeichen,
dass arenthmetische Operationen, also Additionen bzw. Subtraktionen dann vergleichsweise aufwendig werden,
weil das, sagen wir jetzt,
direkt in dieser Zahlendarstellung dann eben nicht so einfach geht, wie jetzt mit anderen Zahlendarstellungen.
Gut, als zweite Möglichkeit hatte ich ja schon angesprochen,
gibt es dann eben die sogenannte Access-Kudierung,
also das ist dann etwas, wo ich dann einfach sage,
ich nehme jetzt einfach eine ganz normale Binär-Kodierung und ziehe dann eben noch einen zusätzlichen Offset mit ab,
der dann also beliebig, aber fest typischerweise natürlich gewählt wird.
Damit kann man dann im Prinzip auch ganz normal rechnen.
Ein Nachteil von so einer Darstellung ist dann natürlich,
dass die Null nicht mehr durch diesen Vektor aus lauter Nullen dargestellt wird,
sondern also je nach Offset,
dann also irgendwo zu anderen Zahlen hin quasi verschoben ist.
Aber anders als jetzt eben bei so einer Betrag- und Vorzeichen-Kodierung
kann ich dann eben damit dann eben auch entsprechende Art medirische Operationen
teilweise machen und eben auch Größenvergleiche zwischen den Zahlen sind,
damit dann also einfach möglich.
Was ist jetzt genau ein Offset? Ein Offset ist jetzt,
also die Frage ist jetzt, was ist genau ein Offset?
Also ein Offset ist jetzt einfach eine beliebige Zahl,
die ich mir jetzt ausdenke und davon abziehe.
Beispiele sind jetzt also im Prinzip
hier sowas
Ich habe jetzt hier also quasi ein Vier-Bit-Bit-Muster,
die jetzt 16 möglichen Werte im Binärcode,
dann eben quasi von 0 bis 15. Und wenn ich sage,
das ist jetzt also quasi ein Access-8-Kodierung,
dann ist letztendlich der Zahlenwert dieser Zahl eben der jeweilige Binärwert minus diesem Offset,
also in diesem Fall minus 8. Das heißt,
das Bit muss dann
0000 wäre dann eben minus
Die Null würde dann quasi jetzt genau bei dem Bitmuster für acht liegen.
Und als größte darzustellende Zahl hätte ich dann eben bei dieser Codierung daneben die sieben.
Nicht aber deswegen hier auch nur mal als Beispiel und von daher
war die Frage natürlich dann also auch eigentlich schon ganz richtig,
also wie man sieht,
also man kann diesen Offset eben auch so legen,
dass es nicht zwingend irgendwo in der Mitte lande,
sondern,
also ich kann die Zahlenbereiche eben auch irgendwie verschieben,
dass ich ein paar negative Zahlen habe und dann aber
deutlich mehr positive Zahlen
Hier, also bei vier Bit, also es ist jetzt natürlich vergleichsweise uninteressant,
nicht, aber im Prinzip kann man damit dann also auch noch rumspielen.
Hier als Beispiel eben nur nochmal so eine Access-6-Kodierung,
wo ich dann eben jeweils sechs abziehe und dann eben von
minus sechs bis plus 9 letztendlich dort meine Zahlen darstellen könnte.
Gut, das, was uns jetzt aber am meisten begegnen wird und was dann,
schätze ich mal, nächste Woche in den Übungsaufgaben auch auftauchen wird,
sind dann Basis beziehungsweise basisminus 1-Kompliment-Darstellung,
die im Prinzip durch folgende Beschreibungen definiert ist.
Also hier also erstmal das B-Kompliment, also B war ja die Zahlenbasis,
dass ich sage, das B-Kompliment einer Zahl ist,
wenn die Zahl null ist, ist das Kompliment auch null.
Ansonsten muss ich B hochennen für NBit Wortbreite minus der Zahl
rechnen das wäre dann das jeweilige Kompliment dazu.
Wie gesagt, beten die Basis der Stellenwertsystems in die Anzahl der Vorkommastellen.
Dieses kann ich dann eben quasi auch nehmen und sagen,
okay, wenn ich das umforme, gilt logischerweise das Kompliment
einer Zahl und die Zahl zusammen addiert, ergibt eben genau B-Hoch-En.
In Stellenwert schreibweise kann man sich das auch immer so vorstellen,
ich jetzt kein Kompliment habe,
wäre oder der Stellenwertschreibweise einer Zahl quasi jetzt hier die Summe von minus M
bis in minus eins bei der Komplimentschreibweise habe ich im Prinzip eigentlich genau das Gleiche,
nur dass eben das höchstwertigste Bit oder die höchste Stelle quasi dann als Faktor mit minus eins gewertet wird.
Das ist dann eben das, was dann hier noch jetzt also aus dieser Summe herausgezogen ist.
Im Dualsystem spricht man dann eben Basis 2,
dann eben auch vom Zwei-Kompliment, im Dezimalsystem wäre das dann das Zehen-Kompliment. Beispiele,
die sind jetzt hier erstmal einfach wirklich stumpf nach dieser Formel quasi ausgerechnet,
wo ich dann eben sage, gut, ich nehme zu einer Zahl,
muss ich dann eben entsprechend B hoch-n-minus dieser Zahl rechnen und das ist dann eben mein Kompliment.
Das heißt, wenn ich jetzt also im Dezimalsystem bin,
wäre dann eben das Zehn-Kompliment, wenn ich jetzt also mit vier Stellen arbeite,
von der Zahl 3.7763, 10 hoch 4. Wie gesagt,
die Anzahl der Stellen ist jeder nämlich entscheidend,
minus 3.767 wäre dann 6.237. Gut,
und das Kanal geht dann eben genauso auch für Brüche bzw. gebrochene Zahn,
also sprich mit Nachkommastellen, entscheiden, wie gesagt,
hier dann eben auch die Anzahl der Stellen mit zwei Vorkommastellen.
Das heißt, ich muss dann Hoch zwei minus 0,3763 rechnen,
also sprich, dass ein Zehner-Kompliment mit zwei Vorkommastellen von dieser Zahl
ist dann eben 99,626237 beziehungsweise war es dann eben letztendlich genau gilt,
ist, dass diese Aussage Zahl plus Kompliment ist gleich B hoch N,
sprich 99,6237 plus 0,36, 73 ist dann eben genau 100.
Im Dualsystem, genau das Gleiche. Das heißt,
wenn ich als Zahl habe 1,0,01 mit zwei Stellen,
müsste ich dann eben 2 hoch 2,
minus 1,0,01 rechnen und dass wir dann eben genau 0,1,
1,1 und die Summe von dieser Zahl,
plus den hier wäre dann eben genau 2 hoch
Hier sieht man eben auch nochmal,
wie gesagt,
wie entscheidend das jetzt also hier mit der Anzahl der Stellen ist,
wenn ich die gleiche Zahl nehme und jetzt sage,
ich möchte das jetzt also für endgleich acht machen,
das heißt mit acht Vorkommastellen würdig hier hinten zwar das gleiche Ergebnis haben,
hätte dann aber hier entsprechend bei den Vorkommastellen dann eben noch entsprechend vieler einzelner vorstehen.
Eine Frage
Also die Frage war jetzt beim Zweier-Kompliment,
beziehungsweise also jetzt hier dementsprechend wie näher, warum sich also
jetzt die erste Vorkommastelle ändert, die zweite aber nicht.
Also das ist jetzt hier wirklich also rein arrothmetisch,
dass ich einfach sage, ich muss jetzt rechnen,
einfach wirklich entsprechend dieser Formel,
gilt das Kompliment,
ist B hoch N minus
Die Zahl, die ich jetzt also hier quasi umrechne,
1-0, 0-1, oder das Kompliment,
was ich, erhalte ich dann demzufolge aus 2 hoch 2,
wäre, also 1-0, 0,
minus 1-0, 0-1,
und dann erhalte ich genau das.
Glauben Sie? Nein
Ja, gut, da fehlt mir jetzt,
also hier dann noch dieses interaktive Teil oder ich müsste es
also gleich nochmal an der Tafel aufschreiben.
Also es ist, nein, das ist einfach wirklich so,
also man kann sich, also ich werde nachher gleich den Trick zeigen,
wie man also viel einfacher ist zu solchen Komplimentzahlen kommt.
Nicht, aber die Grundidee ist halt eben wirklich,
dass ich hier rechne, also in diesem Fall zwei hoch zwei,
minus dem hier und das ist dann eben wirklich,
also die ganz normale Arrethmetik.
Nicht, dass sie da einfach jetzt,
gut, das machst du jetzt mal doch an der Tafel
So, ich hoffe, das sieht man.
Ich werde jetzt also hier nicht aufs Podium wuchten.
Also 2 hoch 2 wäre 1 00 und die Zahl,
um die es da geht, ist also 1,
0,01. Gut,
hier kann ich nur entsprechend
viele Nullen hinzupacken
Nicht. Und jetzt muss ich einfach gucken, okay,
null, minus eins, hätte ich eins,
hier entsprechend dann wieder ein Übertrag, wieder null, minus eins.
Eins, ja doch, nee, ist richtig.
Da dann auch wieder ein Übertrag, eins,
hier WLAN-Übertrag,
null,
minus eins
Beziehungsweise da dann noch mal entsprechend noch mal eine Eins,
also die beiden müsst ihr erst mal zusammenzählen,
da ist das Ergebnis dann nämlich 1-0. Oder natürlich hier 1-0,
minus 1-0, ist dann eben hier null.
Und da bleibt es dann logischerweise auch eine Null.
Und dann habe ich da 0-1, 1-1.
Nochmal als Probe mit den Überträgen, das ist ja alles komisch,
kann man jetzt eben einfach sagen, was er gelten muss.
Die Zahl Plus das Kompliment, das soll jetzt dieses hier sein,
soll genau zwei Hoch-N ergeben, also 1,0,
0,1 plus 0,1, 1, 1 ist 1 plus 1,
0, Übertrag 1, wieder null Übertrag 1,
dann hätte ich hier 1 plus 1 plus 1,
wieder null hier einen Übertrag, 1 plus 1 ist 0
Und da aber dann also mein zwei Hochend und Thora es passt.
Das war jetzt einfach, also das erste,
was ich gemacht hatte, war quasi diese Rechnung hier,
B hochend-Z, um das Kompliment auszurechnen.
Das zweite war jetzt einfach nochmal diesen Wert für das
Kompliment plus Z sollte dann eben auch B-Hochend ergeben.
Gut, das zum Basiskompliment oder in diesem Fall,
sondern wenn ich jetzt bei der Basis 2 bin,
es sind zwei Kompliment, dann gibt es eben noch ein B minus eins Kompliment.
Das heißt, im Dualsystem habe ich dann einer Kompliment,
beziehungsweise im Dezimalsystem ein Non-Kompliment. Auch erstmals Definition,
dass B-1-Kompliment einer Zahl ist für 0,
die 0 und für alle anderen Zahlen gilt das Kompliment,
wird quasi berechnet durch B hoch
N minus der Zahl minus der niederwärtigsten Stelle,
die ich da noch zur Verfügung habe.
Das ist dann dieser Teil hier. Wie sieht das aus?
Wie wird damit gerechnet? Also da kann man jetzt eben sagen,
für den Fall, dass ich jetzt keine Nachkommastellen habe.
Das heißt, das M ist null, gilt,
dass eben das Kompliment oder Kompliment zu einer Basis und das Kompliment zur Basis minus eins,
sich eben genau um eins voneinander unterscheidet.
Und generell kann man auch sagen, dass B-1-Kompliment einer zahlt,
kann ich also sehr einfach dadurch bilden,
dass sich einfach alle Bits, wenn ich im Dualsystem bin,
beziehungsweise im Dezima-System bin,
alle Ziffern gegeneinander
paarweise vertausche
Im Dualsystem sieht das so aus, wenn ich also hier eine Zahl habe,
dass einer Kompliment bildet, werden einfach die Bits jeweils invertiert.
Das heißt also, aus der 1 wird eine Null,
aus der 0 wird eine 1 und ich kann dann also
quasi direkt das einer Kompliment dieser Zahl ablesen.
Im Dezimalsystem ist das jetzt etwas dreckiger, Weil,
also der sich hier Speicher immer invertieren,
also da werden die Ziffern dann nämlich immer paarweise so vertauscht,
dass sie quasi jeweils die jeweilige Summe neun ergeben muss.
Das heißt, aus der Null wird eine neun,
aus der 9 wird eine Null. Nicht,
dann werden ihm 1 und 8, 2 und 7,
3 und 6 und 4 und 5 jeweils gegeneinander getauscht.
Das heißt, wenn ich die Zahl 24.000,
453 hätte, dann wäre dann das neuen Kompliment dazu
So, hörte erst mal komisch an, wofür brauche ich das? Und da kann man jetzt eben auch nur sagen,
gut, also im Dezima-System benutzen wir das eigentlich nicht,
weil da rechnen wir eigentlich immer, wenn wir jetzt sagen,
also Zahl oder negative Zahl dann,
also im Prinzip eigentlich mit Betrag und Vorzeichen,
beziehungsweise wird das eben einfach mal durch die normalen arathmetischen Rechenregeln so gemacht,
dass wir das letztendlich dann zwar das Kompliment bilden,
das aber eben nicht explizit so benutzen, im Dualsystem,
wenn ich das also nachher dann gleich noch vorstellen werde,
wie dann also dann auch die Arrithmetik funktioniert,
wie die Rechner dann also wirklich damit rechnen,
genau da benötigt man das dann nämlich.
Gut, jedenfalls erstmal hier auch nur als Anmerkung eben,
dass B-Kompliment und das B-1-Kompliment unterscheiden sich quasi jetzt immer um das niederwärtigste Bild oder die niederwärtigste Stelle,
wenn ich jetzt also keine Nachkommastellen habe,
unterscheiden die sich dann quasi um eins.
Ansonsten, wenn ich jetzt meinetwegen zwei Nachkommastellen hätte,
würden die sich dann eben da um den entsprechenden Tal unterscheiden.
Hier ist das dann eben auch nochmal gezeigt,
also das im Prinzip die Summe von Zahl und der entsprechenden Komplimentszahl im Dualsystem
dann quasi immer jeweils genau ein Vektor aus lauter Einsen ergibt,
im Dezimalsystem eben
jeweils lauter Neuen
Ich, das ist dann nämlich genau Basis hochennen minus 1. So,
wie kann man jetzt also sagen wir, sehr einfach das B-Kompliment bilden,
weil da muss jetzt nämlich auch dazu sagen,
das B-Minus 1-Kompliment interessiert das eigentlich gar nicht so,
weil die Computer rechnen eigentlich mit dem Zweier-Kompliment und nicht mit dem einer Kompliment,
das kann ich jetzt eben dadurch machen, dass ich sage, gut,
also es ist einer Kompliment kriege ich quasi ganz einfach,
indem ich also die Bits jeweils vertausche,
aus 0 wird 1, aus 1 wird 0,
Und dann unterscheiden sich die beiden Komplimente ja noch quasi um diesen Wert eins.
Also werden einfach die einzelnen Bits invertiert und an der
niedrigsten Stelle eine Eins aufaddiert. Das heißt,
wenn ich im Dualsystem aus dieser Zahl hier quasi das Zweier-Kompliment bilden möchte,
mache ich dann eben Folgendes, dass ich also alle Bits invertiere,
hätte dann also hier null,
null 1,
1,
Also 0, 1, 1, 0, muss dann noch ein hinzuaddieren.
Deswegen ist hier die niederwärtigste Stelle in diesem Fall jetzt eins.
Denn wenn ich die beiden dann aufeinander aufaddiere, erhalte ich dann eben genau zwei Hochacht.
Wenn ich das ist hören, eben genau B hoch N, Minuszeit.
Beziehungsweise eben das Zahl, plus Kompliment dann eben B hoch N ist,
also in diesem Fall jetzt, also bei entsprechend acht Stellen, genau dieses hier. So,
genau das Gleiche kann ich im Prinzip auch für das Dezima-System machen,
auch da eben wieder das entsprechende für tauschen,
hin zu addieren von plus eins,
das heißt also aus der zwei wird eine 7 aus der 4 wird eine 5,
aus der 5 wird eine 4,
aus der 3 wird eine 6,
hier plus 1 ist 7.
Wenn ich die beiden Zahlen addiere,
erhalte ich eben genau zehn,
hoch sechs
Ne, jetzt 10.05 Uhr so. Also sprich hier dann die 100.000.
So, wie kann man jetzt mit dem Kompliment rechnen,
beziehungsweise wofür braucht man das jetzt überhaupt?
Dieses komische, einer Kompliments war ja Kompliment.
Das ist jetzt nämlich eigentlich für die arathmetische Operation der Subtraktion.
Dann habe ich gedacht, wenn ich jetzt sage,
ich habe eine Rechnung mit einer festen Stellenanzahl
Nämlich genau das, was ich vorher immer quasi bei dieser Komplimentbildung jetzt für dieses N hatte,
wo ich gesagt habe, das ist dann eigentlich immer entscheidend,
dass dann eben entsprechend sich die Anzahl dieser Stellen vorne verschiebt.
Wenn ich jetzt die Rechnung in einer festen Stellenanzahl habe,
dann gilt eben, dass wenn ich das Kompliment der Zahl habe,
also meinetwegen jetzt eben,
wie mir dann also das Zweierkompliment plus dieser Zahl,
dann ist das Ergebnis ja entsprechend dieser Formel,
die ich da ja nur also auch mal schon ein paar Mal gezeigt hatte,
genau, B hoch N, also sprich zwei hoch N.
Da die Stellenanzahl insgesamt aber nur Endstellen umfasst, kann ich
zwei hoch ähnnen in dieser Zahndarstellung gar nicht mehr darstellen.
Sprich, also nehmen wir hier dieses Beispiel einfach.
Ich habe hier acht Stellen zur Verfügung. Nicht,
wenn ich jetzt also die Zahl und das Kompliment addiere,
erhalte ich hier 1-0-0-0-0
und dann hier wieder 4-0. Wenn ich aber mit einer festen Stellenanzahl von acht Stellen rechne,
kann ich diese einzige vorne eben nicht mehr darstellen und das Ergebnis ist null.
Das ist das, was also letztendlich hier ist auf dieser Folie, diese Aussage ist. So,
demzufolge gilt da nämlich für die Subtraktion, wenn ich jetzt also rechne,
x-y, dass ich dann nämlich eben auch rechnen kann,
einfach x-plus das Kompliment von Y. Das heißt,
die Addition führe ich eben dadurch, dass ich eben das entsprechende Pumpen,
nein, die Subtraktion führe ich, Entschuldigung,
diese Fraktion führe ich dadurch durch,
dass sie ihm das entsprechende Kompliment hinzuaddiere.
Gut, wie gesagt, für das B-Compliment gilt das eben direkt,
für das B-1-Kompliment hätte ich dann eben zusätzlich noch diesen Offset plus 1 dort mit drin.
So, hier nochmal ein Praktisches Beispiel. Ich möchte zehn,
minus drei rechnen. Ich weiß nach Adamo, wie sie
dann eigentlich sieben ergeben sollte. Und mache das dadurch,
dass ich also quasi start minus drei,
zehn plus das Kompliment von drei rechne.
So, beim Zweierkompliment, das ist dann nämlich so eigentlich
der einfache oder normalere Fall, würde ich dann sagen, Dezimal 10.
Auch hier ist natürlich wieder ein Fehler drin,
deswegen war ich jetzt gerade so ein bisschen am Sturzen.
Also die Dezimal 10 dargestellt ist natürlich logischerweise diese Zahl hier
vorne 4-0 und dann 1-0 1-0,
das muss hier auch,
sollte hier auch stehen,
auch das wird dann noch korrigiert werden
Gut, das heißt, die habe ich jetzt also 0-0,
0, 0, 1-0, 1-0.
Von meiner 3 würde ich das Zweierkompliment jetzt eben dadurch bilden,
dass ich sage,
bei einer Stellenwortbreite in diesem Fall jetzt von 8,
Bit, mit denen ich hier also beispielsweise rechne,
würde ich dann also quasi die minus drei oder das Kompliment
dann eben dadurch bilden,
dass sich das Ganze bittweise invertiere
Das heißt, macht es mal eine Tafel. So,
das wäre jetzt also meine 10,
dem Dezimalsystem hier entsprechend die 10 im Dualsystem,
die Von der 3 im Dezima-System würde ich jetzt also quasi das entsprechende Zweier-Kompliment dadurch bilden,
dass ich jetzt sage, ich nehme die 3,
im Dualsystem, also hier erstmal 4-0,
dann 0-0,
1-1. Anschließend mache ich daraus jetzt quasi das Kompliment,
also mitweise invertieren,
wenn ich bitweise invertiere,
habe ich das 1-Kompliment
Also, kommt hier raus, 1, 1,
1, 1, 1, 1, 0. Null.
Das wäre jetzt also quasi im Dualsystem das eins Kompliment.
Zweier Kompliment, halte ich dann also dadurch,
dass ich nochmal plus 1 rechne.
Also... Das wäre dann dementsprechend
das Zweier Kompliment
So, und jetzt kann ich die Addition, na,
die Subtraktion, also zehn, minus drei,
dadurch rechnen, dass ich sage, okay,
ich nehme die Zahl und addiere das entsprechende Kompliment.
Also, plus 1,
1,
1. Null
Hätte hier einen Übertrag, null, wie ein Übertrag null,
null und hätte hier am Ende noch irgendwo einen Übertrag.
Bin jetzt aber bei einer begrenzten Wortbreite von 8 Bit. Das heißt,
ich betrachte genau diesen Teil hier und habe als Ergebnis 2 hoch null,
plus 2 hoch 1, plus 2 hoch 2,
sprich 4 plus 2,
plus 1 ist 7 und hurra
Das Ergebnis stemmt. Nicht das ist also das,
was also im Prinzip, wenn hier auf dieser Folie stehen sollte,
wenn das hier oben richtig wäre. Und wie gesagt,
mit dem Eins-Kompliment letztendlich dann, genau, das Gleiche,
wobei hier dann, um zum atmetisch richtigen Ergebnis zu kommen,
dann eben noch,
wenn ich einen Übertrag habe,
dieser Übertrag quasi am Ende,
auch noch mit hinzuaddiert wird und ich dann eben
erst nur nach dieser zusätzlichen Addition dann also hier das richtige
Ergebnis sieben erhalte
Nicht, das ist also im Prinzip jetzt, wofür ich also diese komischen Komplimentzahlen überhaupt erst mal brauche,
dass ich eben sage, statt der Subtraktion rechne ich dann eben eine Addition mit dem entsprechenden Kompliment. Eine weitere Veranschaulichung,
die man also auch mal relativ oft findet, ist dann,
was zumindest für entsprechend kleine Zahlen dann immer noch so ein bisschen geht,
aber damit kann man sich auch so ein bisschen das Prinzip noch veranschaulichen,
der Zahlenkreis, wo ich dann eben sage,
also beispielsweise jetzt hier für vier Bit, Zahlendarstellung,
Betrag plus Vorzeichen, wäre dann eben, dass ich sage,
ich habe hier meine Null und laufe dann eben hier entsprechend jetzt mit dieser Kodierung,
mit immer größer wenden werden,
also bis zu dem Sieben und hätte dann eben hier auf der anderen Seite mit der Kodierung 1,
0-0, dann eben die quasi doppelte Minusnull und dann eben hier rum diesen Wert.
Also das wäre dann also das Ganze jetzt für Betrag und Vorzeichen,
bei den Komplimentarstellungen sieht das jetzt eben so aus,
dass ich sagen kann, ich habe hier die Null,
gehe hier bis zur Sieben Dann der nächste Wert,
also der 1, 0-0 ist ja quasi minus 8. Nicht,
aber ich kann da quasi jetzt hier von dieser Zahl 0 in die andere Richtung,
minus 1, minus 2, dann eigentlich wunderbar so zu immer größer werden,
in Zahlen weiterlaufen,
habe da nichts doppelt und in dem Sinne auch nichts verschenkt.
Und das, was dann nämlich im Prinzip die Adbition ist bzw. Subtraktion,
kann man dann eben bei so einer Darstellung dann nämlich durch entsprechende Winkeladitionen ersetzen.
Und da sieht man, wie das Ganze dann eben auch
dann dann wirklich Arathmeter stand das jeweils richtige Ergebnis erzeugt.
Im nächsten Kapitel, wo es dann also im Prinzip ist,
um nochmal um die Art Metik und um Rechenwerke lang geht,
wird das dann also dann auch nochmal kurz wieder aufgegriffen.
Gut, und beim Eins-Kompliment, wie gesagt,
es ist dann eigentlich das Gleiche,
dann aber eben nur noch zusätzlich um diesen Offset plus eins verschoben,
wo ich dann eben hier noch mit an dieser Stelle dann eben Wert habe,
der dann eigentlich in dem Zahlensystem dann nicht weiter definiert ist.
Gut, hier ist das Ganze jetzt nochmal zusammengefasst
Für acht Bett, breite Zahn, wenn ich jetzt eben sage,
okay, also ich habe jetzt hier also irgendwelche Dezimalzahlen von eins bis 127 beziehungsweise ein 128,
hier die jeweiligen entsprechenden Binärkodierungen, wenn ich dann eben sage,
ich habe jetzt, also hier in, dann minus in,
jetzt als Betrag plus Vorzeichen, nicht,
dann würde sich das da dann eben entsprechend so ergänzen.
Und bei den Komplimentarstellungen kann ich dann eben sagen, gut,
das eins Kompliment wären dann eben entsprechend jeweils die Werte,
wo ich dann eben eigentlich genau die jeweilige Binärdarstellung nehme und das Ganze eben wirklich bitweise invatiere.
Zweier Kompliment, das Ganze dann eben noch um einen verschoben,
das heißt also hier dann immer jeweils noch plus eins hinzuaddiert und
dann hier als auch normalen Beispiel an eine Exzess 128 Codierung,
wo dann eben quasi jetzt zu dem jeweiligen Dezimalen ändern, also der negative Wert stehen würde.
Gut,
wie sieht das jetzt mit entsprechend sehr großen oder sehr kleinzahen aus und da kommen wir dann eben zu dem,
was dann also Gleitkomma-Formate sind,
weil gerade so im wissenschaftlichen Bereich hat man dann eben doch oft entsprechende Zahlen,
wo ich dann auch sage, also was weiß ich,
also die Masse der Sonne,
1,989 mal 10.30 Kilogramm
Massanes Elektrons 0, und dann irgendwie eine relativ große Anzahl von Nullen.
Und dann irgendwie 1, 6 Gramm Anzahl der Atome pro Mol.
Also das sind dann eigentlich Zahlen,
wo man sich dann also erstmal irgendwie doc sieht.
Also die sind einfach in der Darstellung schon mal entsprechend lang und unübersichtlich.
Und dem zuvor ein bisschen schwer handhabbar. So,
wenn ich jetzt also ein normales Stellenwertsystem habe beziehungsweise etwas,
wo man dann also letztendlich nachher auch gerechnet werden soll,
dann boah, braucht man natürlich also häufig dann eben sowohl sehr große als auch sehr kleine Zahlen.
Mit vielleicht dann also auch noch relativ vielen Vor- und Nachkommastellen.
Während die Frage ist dann eben letztendlich,
wie kann man das dann irgendwo auch vernünftig kodieren?
Zum einen kann ich jetzt natürlich sagen, gut,
also ich spendiere da jetzt also nicht acht Bit oder 16 Bit,
sondern ich spendiere da also deutlich mehr Bit.
Also in Java 3D gibt es ja so im Prinzip Koordinaten,
wo dann also quasi eine Koordinate in 256 Bit
kodiert ist
Okay, also solange ich das,
also alles irgendwie durch den Computer rechnen lasse oder damit was mache,
ist das noch einigermaßen handhabbar nicht.
Aber wenn man selber da also irgendwie mal was mitmachen muss,
dann kann es da natürlich dann schon Probleme geben.
So, jetzt habe ich hier eine Meldung,
welche von den Zahlen ist falsch.
Ja, das stimmt. Irgendwann später taucht das nämlich
auch nochmal als Ladung
mit auf
Nehmen wir hier, zum Beispiel Elementarladung, da steht es auch richtig,
die hinzufolge sollte das hier dann natürlich auch nicht Masse,
sondern die Ladung eines Elektrons heißen.
Genau. Ja. Gut, ja, also Ladung im Graben
, das ist dann also auch nicht so richtig schick.
Gut, wie gesagt, also da einen kleinen Schreibfehler gleich mal merken,
nachher dann einfach nochmal ändern. Gut, also im Prinzip,
man kann dann also natürlich mit entsprechend langen Zahlen arbeiten,
ist aber eben wirklich vergleichsweise unpraktisch. Und Andere Sache ist,
sag ich mal, so eine lange Zahl,
also mit vielen Vor- und vielen Nachkommastellen suggeriert natürlich,
dass ich da also toll genau unterwegs bin.
Rein praktisch sieht das natürlich so aus, wenn ich jetzt also irgendwelche Messwerte aufnehme,
also irgendwas wirklich real mit irgendwelchen Sensoren feststelle,
physikalische Größen habe, mit einem Zollstock irgendwie was messe oder so.
Selbst wenn man sich also entsprechend stark bemüht,
man hat da eigentlich nur irgendwie ein paar Stellen Genauigkeit,
nicht in irgend so was mit 30 Nachkommastellen suggeriert,
dass das also unendlich genau ist, was aber eigentlich Unsinn ist, Ups.
War ich eigentlich nach drei Nachkommastellen aufhören könnte, dass also irgendwie entsprechend weiter anzugeben.
Deswegen benutzt man dann eigentlich eine sogenannte Halbbürgerrhythmische Darstellung der Zahl,
wo man die Zahl dann in so einer Form stehen hat,
typischerweise dann eben wirklich mit einem expliziten Vorzeichen,
also jetzt nicht wie beim Zweier- oder Einser-Kompliment,
eben irgendwie mit diesem komischen Umgeziffern weisen Umkodierung,
sondern ich habe dann eben wirklich ein Vorzeichen,
was man angibt.
Ist das eine positive oder eine negative Zahl?
Dann habe ich eben eine Mantise, ganz normal,
jetzt die Zahl in irgendeinem irgendwie einen beliebigen Stellenwertsystem.
Und ich habe dann eben eine Basis hoch einem Exponenten,
mit der ich das Ganze dann eben entsprechend um so und
so viele Größenordnungen größer oder kleiner machen kann.
Und damit erreicht man dann,
dass man also mal mit vergleichsweise handlichen Wertebereichen für Mantise
und für Exponent dann eben auch noch entsprechend sehr große oder
sehr kleine Zahlen mit darstellen kann
Weiterer Vorteil bei solchen Darstellungen ist dann eben, dass sich
damit dann eben auch ganz normal die arathmetischen Grundoperationen umsetzen lassen.
Und das Einzige, worauf man da dann eigentlich immer nur achten muss,
ist, dass dann letztendlich die Wertebereiche passen,
damit man dann eben entsprechend in seiner Genauigkeit da ist,
also nicht irgendwo eingeschränkt ist
Theoretisch, also wie gesagt, hier ist es ja Vorzeichen, Mantesse, Basishochexponent.
Theoretisch könnte man auch eine rein lugarhythmische Darstellung nehmen.
Das heißt, da verzichte ich dann ganz auf die Mantesse.
Hat dann aber den Nachteil,
weil dann kann ich natürlich vergleichsweise einfach multiplizieren und dividieren,
weil dann müsste ich nämlich den Exponenten immer nur addieren oder subtrahieren.
Man hat dann aber natürlich vergleichsweise aufwendig, also irgendwelche Additionen und Subtraktionen,
weil ich da dann eben entsprechend dann also umrechnen müsste und
Deswegen bleibt man eigentlich typischerweise an bei den Darstellungen und ist damit dann eigentlich auch am flexibelsten Anfrage.
Also die Frage war jetzt, was genau die Mantise ist.
Mathise ist jetzt eigentlich also der Wert oder die Zahl,
die ich nehme, um sie dann also noch irgendwie zu skalieren, die ich entsprechend größer oder kleiner mache.
Wird hier jetzt, denke ich mal, eigentlich klarer,
also im Dezimalsystem Wäre dann also quasi Darstellung, Vorzeichenbit.
Hier hätte ich da eine ganz beliebige Festkommadezimalzahl und dann würde ich dann eben rechnen, mal 10 hoch e. Das ist eigentlich das,
was wir, sagen wir mal so, als ganz normale,
wissenschaftliche Schreibweise, also irgendwie jetzt aus der Mathematik kennen,
nicht, wo ich dann sage, okay,
im Taschenrechner kann ich dann eben entsprechend große oder kleine Zahlen dadurch angeben,
dass ich dann eben sage, also gut,
wie gesagt, hier steht es jetzt richtig,
die Elementarladung des Elektrons ist dann also 1,6 mal 10 hoch,
minus 19, würde ich dann eben schreiben als 1,6,
e minus 19, beziehungsweise die Avogatro-Zahl wäre dann 6,0,
es war dreimal 10 oder 23.
Und damit kann man dann eben entsprechend große oder kleine Zahlen
effizient darstellen und die Mantisse ist dann eben quasi das,
was sich dann also jetzt hier vor dieser Zehner-Potenz habe,
was ich dann eben hiermit skaliere und daraus dann eben
entsprechend große oder eben hier in diesem Fall dann eben eine
entsprechend kleine Zahl draus mache
Gut, wie wirken sich jetzt Mantise und Exponent,
also irgendwie auf den Zahlenbereich aus? Das ist also im Prinzip das,
was jetzt also hier auf dieser Folie angedeutet sein sollte.
Da geht es darum, wie beeinflusse ich den Zahlenbereich?
Also jetzt hiermit angedeutet in Richtung möglichst kleine Zahlen,
das heißt also in Richtung der Null oder hier in Richtung möglichst große Zahlen,
nicht deswegen dieser Fall, auf dies unendlich angedeutet.
Irgendwas man Hier sieht es jetzt also Unterschied einfach mal im Dezima-System,
also Basis 10, unterschiedliche Stellen für Mantise und für Exponent und dann jeweils quasi die kleinsten Zahlen,
die ich darstellen kann, beziehungsweise die größten Zahlen,
die ich darstellen kann. So, und das,
was man hier jetzt eigentlich sieht oder was man hier erstmal nur Quintessenz ist,
also aus dieser Folie ist, dass man sagt,
okay, also das,
womit ich den Zahlenbereich erstmal wirklich beeinflusse in Bezug auf Größe bzw. kleinste Zahlen,
sind dann halt wirklich die Stellen, die ich für den Exponenten spendiere.
Nicht. Das heißt, hier kann ich eben wirklich sehen,
in diesem Fall, die Mantesse bleibt gleich mit drei Stellen,
Exponent, eine Stelle, zwei Sterne, drei Stellen,
vier Stellen, demzufolge kann ich dann eben hier entsprechend immer kleinere,
beziehungsweise je immer größere Zahlen damit darstellen.
Und hier sieht man dann also auch nochmal Exponent,
Jeweils mit drei, Mantisse mit drei Stellen,
hier auch einen Exponenten mit drei,
die Mantisse mit vier Stellen und dann eben hier das Ganze nochmal mit 10 und 20.
Da sieht man also das, was ich am Zahlenbereich mache,
mache ich eigentlich über den Exponenten,
weil damit kann ich eben eine Zahl insgesamt deutlich größer oder deutlich kleiner machen.
Die Mantisse wirkt sich anders aus,
das ist hieraus jetzt nämlich eben nicht ablesbar,
ob ich für die Mantisse jetzt drei oder vier oder fünf
oder 20 Stellen spendiere,
beeinflusst dann nämlich eigentlich jetzt wieder
die Genauigkeit der Zahl
Das, also die Frage war jetzt,
was da inzwischen Standard ist, würde ich sie nochmal,
gut, zumindest ansprechen,
werde ich es dann nochmal kurz in drei Folien vertrösten,
weil dann komme ich nämlich eigentlich zu dem Standard und das,
was wir, womit wir dann eigentlich auch arbeiten.
Das Problem ist nämlich genau wirklich folgendes und von daher ist die Frage also immer Gold richtig,
also ich habe jetzt hier einfach irgendwelche wilden Kombinationen mir ausgedacht
und genau das Gleiche haben damals die Entwickler von den Computern auch gemacht.
Also wenn man sich ansieht, also irgendwie so Gleitkomma-Darstellung,
nicht also als Bauingenieur hatte Herr Konrad Zuse da natürlich dann
also auch immer mit zu tun gehabt und hatte dann also
bei seinem Rechner im Ehesten also auch schon irgendwelche Glatkomma-Datenformate mit 22 Bit eingeführt.
Ab den 50er Jahren haben sich dann eigentlich gerade bei irgendwelchen
numerischen Berechnungen dann natürlich logischerweise ein Glatkomma-Formate größere Verbreitung gehabt.
Aber was dann eben auch immer war. Ich dachte,
ich hätte da jetzt auch nochmal irgendwo eine Folie gehabt.
Das ist ja jetzt aber nicht der Fall. Ist,
dass sich letztendlich jeder Rechnerhersteller irgendwo sein eigenes Format ausgedacht hat. Also mal mit 22 Bilden,
mal mit 28 bitten, mal mit so und so viel,
was dann eben auch dazu führte, dass also irgendwelche Algorithmen,
die also irgendwo mal kodiert worden sind,
also auf dem einen Rechner ein bestimmtes Ergebnis lieferten und auf
dem anderen Rechner war ich da eben eine andere Zahlendarstellung hatte
und ein anderes Gleitkomma-Format,
also zum ganz anderen Ergebnis geführt haben
Seit 1985 gibt es zu dem Ganzen dann eben wirklich jetzt ein Art Reperie-Standard,
Atrible E ist quasi so eine Standardisierungsorganisation der Elektroingenieure eigentlich,
ist aber eben für relativ viele Standards,
also auch im Bereich der Computertechnik, mitverantwortlich.
Und wie gesagt, dieses A-Trible E 754 ist heutzutage eigentlich
der de facto Standard für irgendwelche Gleitkommarat-Metik.
Also in diesem Format oder in diesem Standard sind dann also
unterschiedliche Gleitkomma-Formate auch noch beschrieben mit unterschiedlichen Genauigkeiten. Das werde ich dann, denke ich mal, nächste Woche dann also auch wirklich noch genauer vorführen. Inzwischen ist es eben auch so,
dass teilweise dann eben auch solche Gleitkomma-Formate Einzug gehalten haben in die Spezifikation von Programmiersprachen,
also beispielsweise in Java gibt es dann eben auch Forderung nach Altrip,
i754, weil das ist eben, wie gesagt,
schon auch so eine Sache, wo man sagen kann,
genauso wie letztendlich unterschiedliche Computer oder unterschiedliche Hardware,
also und vielleicht noch mit unterschiedlichen Gleitkomma-Formaten rechnet,
war es eben auch so,
dass teilweise in den Programmiersprachen dann eben auch die Formate definiert waren und in der einen Programmiersprache sah halt eben eine Fließkommazahl so aus,
in einer anderen Programmiersprache sah die eben anders aus und inzwischen kann man also sagen,
wir brauchen uns darum jetzt eigentlich Glück glücklicherweise keine Gedanken mehr zu machen,
sondern also auch das ist dann eigentlich vergleichsweise gut oder gleichartig festgesetzt und inzwischen eigentlich standardisiert,
beziehungsweise man hat eben die SI-Triple-I eigentlich als de facto Standard und wenn ich einen Algorithmus beschreibe,
dann ist es egal,
also ob ich das in C oder in Java oder in einer ganz anderen Programmiersprache mache,
die Zahlendarstellung und die Genauigkeiten sind dann eigentlich immer jeweils identisch,
weil die dann immer auf diesem Standard aufbauen
Gut, was hier auf dieser Folie dann auch noch mal drauf ist,
ist dann also noch die Sache so ein bisschen dann zu der technischen Berechnung. Wie gesagt,
ganz früher war es eigentlich so,
dass die ganzen Gleitkomma-Berechnungen in der CPU noch von Hand,
na ich sag jetzt mal von Hand, nein,
also nicht durch spezielle Hardware gemacht wurden, sondern dass die atometischen Operationen,
die dann quasi jetzt hier stattfinden mit Mantesse und Exponent beziehungsweise dem Vorzeichen,
dadurch umgesetzt wurden,
dass sich dann quasi so was wie Bibliotheken habe und ich eigentlich als Recheneinheit,
also als Alu in der CPU dann eben wirklich nur eine integrerischen Einheit habe.
Das heißt, da immer nur mit Festkommazahlen rechnen kann. Ich und alles,
was dann im Prinzip dem Gleitkomma-Format entspricht,
dann eben wirklich aufgedröselt wird und ich dann also quasi in eine Berechnung mache,
wo ich dann eben beispielsweise bei Additionen, Subtraktionen nicht,
wie würde ich das jetzt, also hier bei so einem Gleitkomma-Formaten machen,
wenn ich zwei Zahlen addiere bzw. voneinander oder so Karriere,
ich müsste also im Prinzip die Exponenten aneinander anpassen,
demzufolge dann also quasi hier die Montess entsprechend verschieben.
Nicht, und wenn ich das habe,
kann ich dann eben das,
was sie an Mathissen habe,
beziehungsweise was davon vielleicht noch übergeblieben ist,
addieren und Subtrahieren mit irgendwie entsprechenden Codierungen,
erhalte dann eben ein Ergebnis und hätte damit dann also meine Glatkomma-Addition dann eben in so mehrere Teile zerlegt.
Gut, und das haben die ersten Computern im Prinzip
dann auch erstmal so gemacht,
also sprich über irgendwelche Makros,
irgendwelche Bibliotheken
das Ganze so aufgelöst
Nicht später, in den 80er Jahren kamen dann also
die ersten Co-Prozesse-Chips, die dann also entsprechende Rechenwerke hatten,
wo dann also direkt solche Glakkomma-Operationen direkt möglich sind.
Und inzwischen kann man sagen, haben eigentlich alle CPUs ein,
wenn nicht zwei Fließkomma-Rechenwerke mit drauf. Und das,
was man dann eben auch häufig findet,
also gerade so im Supercomputer-Bereich, also quasi als Mars- oder Mars-einhagt,
wie schnell irgendwelche Rechner sind, sind dann eben Fließkomma-Operationen pro Sekunde.
Dann also sprich in Flops gemessen, Floating Point Operations per second.
Nicht und 1996 wurden also quasi die Terraflop-Marke geknackt von einem Rechner,
der dann also irgendwie aus 9152 Prozessoren aufgebaut war, die Peter-Flop-Marke,
wo dann 2008 quasi erreicht mit einem entsprechenden aufwendigen Rechner,
der dann das auch eine vergleichsweise große Anzahl von Prozessoren da mit drin hatte.
Gut, dann werde ich jetzt abschließend zu dem,
was ich heute vorstelle und noch mal kurz motivierend Leitkomma,
Zahlenbereiche, weil ich habe ja erst mal gesagt,
so und so sieht eigentlich vom Prinzip her das Format aus,
wenn man sich das mal also an so einem Zahlenstrang aufgezeichnet darstellt,
dann fällt einem auf, dass man hier eben unterschiedliche Bereiche hat,
die man dann eben auch so ein bisschen getrennt voneinander betrachten muss.
Bei der Gleitkomba-Darstellung, wie gesagt, typischerweise Betrag und Vorzeichen.
Dadurch habe ich natürlich negative und positive Zahlen jeweils symmetrisch.
Dann für die Kodierung der Null hat man eigentlich einen speziellen Wert,
der dann eben anzeigt, das ist eine Null.
Dann habe ich hier Insgesamt einschließlich der Null dann also eigentlich sieben Zahlenbereiche zu unterscheiden.
Im negativen Bereich gibt es dann also quasi so einen Überlauf.
Das heißt, da habe ich jetzt irgendwelche Zahlen,
die größer sind als das, was ich in meiner Gleitkomma-Darstellung noch darstellen kann.
Einfach weil ich jetzt also quasi hier im Exponenten
nicht mehr genügend Stellen zur Verfügung habe.
Dann habe ich meine darstellbaren negativen Zahlen und dann habe ich
einen negativen Unterlauf. Das heißt, das sind Zahlen zwischen
der Null und der kleinsten Darstellbaren
negativen Zahl
In positive Richtung habe ich genau das Gleiche.
Und was dann hier auch noch mit angedeutet ist, die,
das ist also im Prinzip hier mit diesen gepunkteten Sachen,
also gezeigt, aus der intischer Arithmetik kennen wir eigentlich,
wir sagen, okay, 0-1, 2,
3, ich habe da jetzt also irgendwie in Anführungszeichen alle Zahlen letztendlich so darstellbar.
Bei Gleitkommazahlen kann ich sagen,
wenn ich jetzt also bei entsprechend großen Zahlen bin,
und eine Abbildung von den natürlichen Zahlen auf die darstellbaren Gleitkommazahlen mache,
dann komme ich eben irgendwann in Bereiche,
wo ich nicht mehr alle Zahlen darstellen kann.
Das ist also hier dadurch angedeutet,
dass also hier unten habe ich quasi noch so einen kontinuierlichen Strang und hier
habe ich jetzt nur noch einzelne Punkte und das sind dann nur noch einzelne Zahlen,
die ich darstellen kann.
Alles, was dazwischen ist, kriege ich mit meiner Zahlendarstellung nicht abgebildet.
Andererseits ist es aber so, das ist das,
was also diese Aussage hier unten ist, dass der,
ich sag mal,
relative Abstand benachbarter Zahlen ähnlich ist bei Gleitkomma-Darstellung
Nicht bei Entegral-Darstellung, kann ich sagen, okay,
also 0-1, beziehungsweise 1 zu 2,
2 zu 3, 3 zu 4,
da verändert sich immer das Verhältnis der Zahlen zueinander.
Und extrem ist es eben, wenn ich sage 1
zu 2 und hier sowas wie 65.555.535 zu 65.5036.
Hier habe ich also quasi vergleichsweise kleinen Abstand der großen Zahlen zueinander.
Beim Gleitkomma-Bereich sind diese Abstände dann eben ähnlich groß,
aber dadurch, dass ich die Größe dann durch den Exponenten erreiche,
fehlen mir hier dann eben Zahlen
So, das war jetzt das,
was sie noch kurz vorgestellt haben wollte.
Nächste Woche geht es dann entsprechend mit den Glatkommazahlen weiter und
dann werde ich auch nochmal einzeln diese Formate
ein bisschen genauer erläutern