Theoretische und technische Informatik - ganz praktisch - Letzte Fragen & Antworten in KOD-AA https://info2.aifb.kit.edu/qa/index.php?qa=qa&qa_1=fehlerbehandlung-und-kodierung&qa_2=kod-aa Powered by Question2Answer Beantwortet: Tut 5: Hufmann Einführungsaufgabe https://info2.aifb.kit.edu/qa/index.php?qa=7576&qa_1=tut-5-hufmann-einf%C3%BChrungsaufgabe&show=7577#a7577 Hallo uqjdo,<br /> <br /> da gibt es kein bestimmtes Vorgehen, beide Lösungen sind richtig und du kannst es machen, wie es dir lieber ist. <br /> <br /> Beim Huffman-Code gibt es ganz viele (unterschiedliche) Lösungen, alleine, wenn man die 0 rechts oder links schreibt. Oder auch wenn man z.B. dreimal die gleiche Zahl hat, dann kann man einfach zwei wählen.<br /> <br /> An deinen Lösungen sieht man auch schön, dass f und b jeweils drei Zeichen lang sind und die anderen nur zwei, die Codelänge ist also bei beiden gleich (muss sie auch, sie muss ja minimal sein). Und auch die Fano-Bedingung wird bei beiden erfüllt.<br /> <br /> Viele Grüße und weiterhin viel Erfolg beim Lernen wünscht<br /> <br /> Anne (Tutorin) KOD-AA https://info2.aifb.kit.edu/qa/index.php?qa=7576&qa_1=tut-5-hufmann-einf%C3%BChrungsaufgabe&show=7577#a7577 Sat, 05 Feb 2022 19:40:34 +0000 Beantwortet: Prüfbit anhängen https://info2.aifb.kit.edu/qa/index.php?qa=7347&qa_1=pr%C3%BCfbit-anh%C3%A4ngen&show=7381#a7381 Hallo,<br /> <br /> zunächst, man muss das Prüfbit sinnvoll wählen. Ein Beispiel: Die Zahlen 0-7 als Binärzahlen<br /> 000 - 0<br /> 001 - 1<br /> 010 - 2<br /> 011 - 3 ...<br /> Man sieht, der Hammingabstand ist 1, da z.B. 0 und 1 nur an einer Stelle unterschiedlich sind.<br /> <br /> So ein Code hat immer mindestens den Hammingabstand 1, da du sonst zwei unterschiedliche Codewörter mit der gleichen Codierung hättest und somit nicht wüsstest, welches Wort gemeint ist beim Decodieren.<br /> <br /> Als Prüfbit kann man hier z.B. |w|_1 mod 2 nehmen (Also die Anzahl der 1en modulo 2). Wenn zwei Codewörter nur an einer Stelle unterschiedlich sind, dann haben sie offensichtlich eine unterschiedliche Anzahl von 1en im Wort und mit dem Prüfbit haben sie dann 2 unterschiedliche Ziffern. Damit sind sie 1-fehlererkennbar.<br /> <br /> Ich hoffe, das beantwortet deine Frage<br /> Viele Grüße KOD-AA https://info2.aifb.kit.edu/qa/index.php?qa=7347&qa_1=pr%C3%BCfbit-anh%C3%A4ngen&show=7381#a7381 Sun, 21 Mar 2021 09:39:35 +0000 Beantwortet: Huffmankodierung Reihenfolge https://info2.aifb.kit.edu/qa/index.php?qa=7203&qa_1=huffmankodierung-reihenfolge&show=7204#a7204 Genau die Frage wurde schon öfter beantwortet in den letzten Tagen :)<br /> Ja, das Vorgehen ist egal, wenn du mehrere gleichwertige Möglichkeiten hast. KOD-AA https://info2.aifb.kit.edu/qa/index.php?qa=7203&qa_1=huffmankodierung-reihenfolge&show=7204#a7204 Sun, 09 Feb 2020 17:30:23 +0000 Beantwortet: Verschlüsselung https://info2.aifb.kit.edu/qa/index.php?qa=6269&qa_1=verschl%C3%BCsselung&show=6271#a6271 Nein, in der annotierten Folie (K.7 Seite 2) ist das durchgestrichen. KOD-AA https://info2.aifb.kit.edu/qa/index.php?qa=6269&qa_1=verschl%C3%BCsselung&show=6271#a6271 Sat, 03 Feb 2018 23:34:51 +0000 Beantwortet: Erkennen von BCD, Aike, Exzess-3 https://info2.aifb.kit.edu/qa/index.php?qa=5101&qa_1=erkennen-von-bcd-aike-exzess-3&show=5102#a5102 Bei der BCD-Darstellung muss der String in Vierer-Blöcke unterteilt werden können, was hier zwar gegeben ist, zusätzlich dürfen dabei aber auch nur die Ziffern 0-9 vorkommen. Hier gibt es im letzten String z.B. den Block 1011, was den Wert 9 ja schon überschreitet.<br /> Zur Exzess-3 und zur Aiken Darstellung schaust du dir am besten nochmal die Antworten zu den andern Fragen zu der Aufgabe an. Da wurde bereits ausführlich darauf eingegangen KOD-AA https://info2.aifb.kit.edu/qa/index.php?qa=5101&qa_1=erkennen-von-bcd-aike-exzess-3&show=5102#a5102 Sat, 28 Jan 2017 13:14:54 +0000 Beantwortet: Wie erkenne ich den Unterschied zwischen BCD und Aiken in einem String? https://info2.aifb.kit.edu/qa/index.php?qa=3453&qa_1=wie-erkenne-ich-den-unterschied-zwischen-aiken-einem-string&show=3454#a3454 <p> Hallo utdtz,</p> <p> BCD und Aiken schliessen sich gegenseitig (i.d.R.) aus, da bspw. $1000$ fuer BCD der dezimal 8 entspricht, aber fuer Aiken nicht exisitert.</p> <p> Siehe folgende Tabelle:</p> <p> <img alt="" src="http://info2.aifb.kit.edu/qa/?qa=blob&amp;qa_blobid=7994413887838827716" style="width: 205px; height: 334px;"></p> <p> Viel Erfolg noch,</p> <p> Marvin (Tutor)</p> KOD-AA https://info2.aifb.kit.edu/qa/index.php?qa=3453&qa_1=wie-erkenne-ich-den-unterschied-zwischen-aiken-einem-string&show=3454#a3454 Sun, 10 Jan 2016 15:02:57 +0000 Beantwortet: e) Wie sieht man, um welche Codes es sich bei dem Zahlenstring handelt? https://info2.aifb.kit.edu/qa/index.php?qa=1829&qa_1=wie-sieht-man-welche-codes-sich-bei-dem-zahlenstring-handelt&show=1831#a1831 Naja, bestimmen, welche Kodierung es IST, kann man auf diese Weise nicht, denn es können ja auch verschiedene sein, wie etwa beim ersten String.<br /> <br /> Aber wenn Sie sich die Definition der verschiedenen Kodierungen anschauen, sieht man schnell, welche es NICHT sein können. BCD-Kodierungen bestehen bspw. aus Viererblöcken, die als Dualzahl die Ziffern 0-9 kodieren. &nbsp;Wenn also im zweiten Code der String &quot;1101&quot; vorkommt (links von der Mitte), der als Dualzahl 13 kodieren würde, aber im BCD-Code nicht vorkommt, dann kann man BCD als Kodierung ausschließen.<br /> <br /> So kann man das mit den beiden anderen ebenfalls machen.<br /> <br /> Viele Grüße<br /> <br /> Lukas König KOD-AA https://info2.aifb.kit.edu/qa/index.php?qa=1829&qa_1=wie-sieht-man-welche-codes-sich-bei-dem-zahlenstring-handelt&show=1831#a1831 Thu, 16 Jul 2015 06:57:57 +0000 Beantwortet: Fehler bei Exzess-3-Code in Teil d) ? https://info2.aifb.kit.edu/qa/index.php?qa=1227&qa_1=fehler-bei-exzess-3-code-in-teil-d&show=1228#a1228 <p> Wo kommt dieses Zitat her?<br> <br> "Die Weite der Verschiebung ist für N &gt; 0 immer eine Zweierpotenz 2^(N-1). Man spricht daher auch von einem Exzess-N-Code. Die Exzess-0-Codierung entspricht der Standardcodierung."<br> <br> In der Vorlesung wurde meines Wissens keinerlei Beschränkung für das&nbsp;<span class="MathJax" id="MathJax-Element-1-Frame" style=""><span class="math" id="MathJax-Span-1"><span style="display: inline-block; position: relative; width: 0.446em; height: 0px; font-size: 126%;"><span style="position: absolute; clip: rect(2.008em, 1000em, 2.978em, -0.469em); top: -2.617em; left: 0em;"><span class="mrow" id="MathJax-Span-2"><span class="mi" id="MathJax-Span-3" style="font-family: MathJax_Math; font-style: italic;">q</span></span></span></span></span></span> in der Exzess-<span class="MathJax" id="MathJax-Element-2-Frame" style=""><span class="math" id="MathJax-Span-4"><span style="display: inline-block; position: relative; width: 0.446em; height: 0px; font-size: 126%;"><span style="position: absolute; clip: rect(2.008em, 1000em, 2.978em, -0.469em); top: -2.617em; left: 0em;"><span class="mrow" id="MathJax-Span-5"><span class="mi" id="MathJax-Span-6" style="font-family: MathJax_Math; font-style: italic;">q</span></span></span></span></span></span>-Darstellung gemacht. Es ist in bestimmten Kontexten sinnvoll, nur Zweierpotenzen zuzulassen (bspw. bei der Charakteristik von Gleitpunktzahlen), aber das ist keine notwendige Bedingung.<br> <br> Bei einem Exzess-<span class="MathJax" id="MathJax-Element-3-Frame" style=""><span class="math" id="MathJax-Span-7"><span style="display: inline-block; position: relative; width: 0.446em; height: 0px; font-size: 126%;"><span style="position: absolute; clip: rect(2.008em, 1000em, 2.978em, -0.469em); top: -2.617em; left: 0em;"><span class="mrow" id="MathJax-Span-8"><span class="mi" id="MathJax-Span-9" style="font-family: MathJax_Math; font-style: italic;">q</span></span></span></span></span></span>-Code verschiebt man außerdem um&nbsp;<span class="MathJax" id="MathJax-Element-4-Frame" style=""><span class="math" id="MathJax-Span-10"><span style="display: inline-block; position: relative; width: 0.446em; height: 0px; font-size: 126%;"><span style="position: absolute; clip: rect(2.008em, 1000em, 2.978em, -0.469em); top: -2.617em; left: 0em;"><span class="mrow" id="MathJax-Span-11"><span class="mi" id="MathJax-Span-12" style="font-family: MathJax_Math; font-style: italic;">q</span></span></span></span></span></span> und nicht um <span class="MathJax" id="MathJax-Element-5-Frame" style=""><span class="math" id="MathJax-Span-13"><span style="display: inline-block; position: relative; width: 1.804em; height: 0px; font-size: 126%;"><span style="position: absolute; clip: rect(2.969em, 1000em, 4.167em, -0.452em); top: -4em; left: 0em;"><span class="mrow" id="MathJax-Span-14"><span class="msubsup" id="MathJax-Span-15"><span style="display: inline-block; position: relative; width: 1.804em; height: 0px;"><span style="position: absolute; clip: rect(1.951em, 1000em, 2.952em, -0.452em); top: -2.784em; left: 0em;"><span class="mn" id="MathJax-Span-16" style="font-family: MathJax_Main;">2</span></span><span style="position: absolute; top: -2.899em; left: 0.502em;"><span class="texatom" id="MathJax-Span-17"><span class="mrow" id="MathJax-Span-18"><span class="mi" id="MathJax-Span-19" style="font-size: 70.7%; font-family: MathJax_Math; font-style: italic;">q</span><span class="mo" id="MathJax-Span-20" style="font-size: 70.7%; font-family: MathJax_Main;">−</span><span class="mn" id="MathJax-Span-21" style="font-size: 70.7%; font-family: MathJax_Main;">1</span></span></span></span></span></span></span></span></span></span></span>.<br> <br> <br> <br> <br> Viele Grüße<br> <br> Lukas König</p> KOD-AA https://info2.aifb.kit.edu/qa/index.php?qa=1227&qa_1=fehler-bei-exzess-3-code-in-teil-d&show=1228#a1228 Thu, 13 Nov 2014 11:00:10 +0000 Beantwortet: Funktion der führenden Einsen (EBCDIC Darstellung) ? https://info2.aifb.kit.edu/qa/index.php?qa=1221&qa_1=funktion-der-f%C3%BChrenden-einsen-ebcdic-darstellung&show=1225#a1225 <div class="ilFrmPostContent"> <p> Hallo,<br> Jetzt mal ganz von vorne zu der EBCDIC-Darstellung. Wenn Sie auf Folie 7-26 schauen, dann sehen Sie da eine schöne Tabelle, die geht für x von 0-F und für y auch von 0 bis F. Das ist eine Darstellung im Hexadezimalsystem. Das Hexadezimalsystem wird sehr oft verwendet, da es sich hierbei nur um eine komfortablere Verwaltung des Binärsystems handelt. Hierbei bedeuten 0 bis F im Dezimalsystem die Zahlen 0 bis 15 und im Dualsystem 0000, 0001, 0010, 0011, ... 1100, 1101, 1110, 1111. Diese Schreibweise wird nun verwendet, um eine Zahl xy (x und y sind jeweils 4-Bit-Strings) in EBCDIC darzustellen. Sie sehen in der Tabelle (x in der Zeile, y in der Spalte), wie a, b, ... und einige Sonderzeichen dargestellt werden. Und für die Zahlen (letzte Spalte) gilt eben, dass x = 1111 ist. Demnach haben Sie bei einer Zahl in EBCDIC Schreibweise immer zuerst 1111.<br> Was genau Sie da im Internet mit "00000101 für 5" gefunden haben, das weiß ich nicht. Aus der oben genannten Folie und mit diesem Hintergrundwissen sollte die Darstellung hoffentlich klar werden.<br> <br> Viele Grüße</p> <p> Friederike Pfeiffer</p> </div> <p> &nbsp;</p> KOD-AA https://info2.aifb.kit.edu/qa/index.php?qa=1221&qa_1=funktion-der-f%C3%BChrenden-einsen-ebcdic-darstellung&show=1225#a1225 Thu, 13 Nov 2014 10:56:07 +0000 Beantwortet: Zifferndarstellung bei 2- aus -5 Code ? https://info2.aifb.kit.edu/qa/index.php?qa=1219&qa_1=zifferndarstellung-bei-2-aus-5-code&show=1220#a1220 <div class="ilFrmPostContent"> <p> Hallo,</p> <p> ich weiß nicht, ob ich deine Frage richtig verstehe, denn, wie man die Ziffern (0 - 9) bei der 2-aus-5-Codierung darstellt ist ebenfalls auf der Vorlesungsfolie 28 von Kapitel 7angegeben:</p> <p> 0 -&gt; 11000</p> <p> 1 -&gt; 00011</p> <p> 2 -&gt; 00101</p> <p> 3 -&gt; 00110</p> <p> 4 -&gt; 01001</p> <p> 5 -&gt; 01010</p> <p> 6 -&gt; 01100</p> <p> 7 -&gt; 10001</p> <p> 8 -&gt; 10010</p> <p> 9 -&gt; 10100</p> <p> Wenn du jetzt einen Bit-String hättest, würdest du ihn in 5-er Blöcke zerlegen und dann die Ziffern (0 - 9) einfach rauslesen.</p> <p> Falls deine Frage war, wie man darauf kommt, dass die "9" mit "10100" codiert wird, dann ist das hier meines Wissens nicht so einfach wie bei BCD, Exzess-3 oder Aiken. Ich denke, dass sich das einfach jemand ausgedacht hat. Der Vorteil bei dieser Darstellung, ist dass sie 1-Fehler-erkennbar ist. Aber arithmetische Operationen sind schwieriger.</p> <p> Aber es gibt bei 2-aus-5 trotzdem eine Stellenwertigkeit (außer für die "0"):</p> <p> 7 4 2 1 0</p> <p> Das bedeutet jetzt, dass man aus einem gegebenen 2-aus-5-Code ganz leicht herauslesen kann, für welche Ziffern (0 - 9) er jeweils steht, ohne dass man die Codierung auswendig lernen muss. (Achtung! Dies gilt nicht für die 0, die mit 11000 codiert wird.)</p> <p> z.B.:</p> <p> 01010 -&gt; 0 * 7 + 1 * 4 + 0 * 2 + 1 * 1 + 0 * 0&nbsp; = 4 + 1 = 5 oder</p> <p> 10001 -&gt; 1 * 7 + 0 * 4 + 0 * 2 + 0 * 1 + 1 * 0 = 7 + 0 = 7</p> <p> Da das letzte Bit bei der Stellenwertigkeit die "0" repräsentiert, kann man aber nicht so leicht auf die Codierung der Ziffern (0 - 9) schließen, da es ja sozusagen immer noch die gleich Zahl ergeben würde, wenn man das letzte Bit kippt (bei diesem Stellenwertigkeit-Auslesen!). Aber dieses letzte Bit trägt dazu bei, dass die Hammingzahl des Codes 2 ist, und er somit 1-Fehler-erkennbar ist.</p> <p> Konnte ich deine Frage beantworten, oder hattest du was anderes gemeint?</p> <p> Viele Grüße, Anna-Lena (Tutor)</p> </div> <p> &nbsp;</p> KOD-AA https://info2.aifb.kit.edu/qa/index.php?qa=1219&qa_1=zifferndarstellung-bei-2-aus-5-code&show=1220#a1220 Thu, 13 Nov 2014 10:49:34 +0000 Beantwortet: Warum Exzess-3 aber kein Aiken-Code? https://info2.aifb.kit.edu/qa/index.php?qa=1217&qa_1=warum-exzess-3-aber-kein-aiken-code&show=1218#a1218 <p> Hallo,</p> <p> dafür schaut man sich am besten erstmal an wie die Codierungen für die Exzess-3-Dartsellung und den Aiken-Code aussehen. auf Vorlesungsfolie 28 von Kapitel 7 ist das schön dargestellt. (siehe Anhang)</p> <p> Jetzt zerlegt man den String 3 in acht 4-er Blöcke:</p> <p> 0111 0011 0101 1010 0100 1011 0110 0101</p> <p> So könnte man sich jetzt für jeden einzelnen 4-er Block überlegen welche Ziffer (0 - 9) er darstellt.</p> <ul> <li> Exzess-3-Code:</li> </ul> <p> Hier kann man nacheinander die Ziffern auslesen:</p> <p> 0111 -&gt; 4</p> <p> 0011 -&gt; 0</p> <p> 0101 -&gt; 2</p> <p> 1010 -&gt; 7</p> <p> 0100 -&gt; 1</p> <p> 1011 -&gt; 8</p> <p> 0110 -&gt; 3</p> <p> 0101 -&gt; 2</p> <p> =&gt; Man erhält also die Zahl: 40271832</p> <ul> <li> Aiken-Code:</li> </ul> <p> Hier würde man das gleiche versuchen, aber schon beim ersten 4-er Block kommt man nicht weiter, denn: "0111" gibt es nicht im Aiken-Code.</p> <p> Deshalb kann es sich bei String 3 nicht um eine Aiken-Codierung, sehr wohl aber um eine Exzess-3-Codierung handeln.</p> <p> Hast du das soweit jetzt verstanden, oder gibt es noch Unklarheiten?</p> <p> Viele Grüße,</p> <p> Anna-Lena</p> <p> (Tutor)</p> <p> Vorlesungsfolie 28 von Kapitel 7:<br> <img alt="" src="http://info2.aifb.kit.edu/qa/?qa=blob&amp;qa_blobid=2357208845784512697" style="width: 600px; height: 426px;"></p> KOD-AA https://info2.aifb.kit.edu/qa/index.php?qa=1217&qa_1=warum-exzess-3-aber-kein-aiken-code&show=1218#a1218 Thu, 13 Nov 2014 10:44:29 +0000 Beantwortet: e): Warum 2. + 3. nicht BCD ? https://info2.aifb.kit.edu/qa/index.php?qa=1213&qa_1=e-warum-2-3-nicht-bcd&show=1214#a1214 Bei BCD werden die Dezimalziffern 0-9 mit Viererblöcken von Bits kodiert, wobei jeder Viererblock wie bei der Kodierung der Dualzahl der jeweiligen Ziffer erstellt wird.<br /> <br /> Da es aber 16 verschiedene Bit-Strings der Länge 4 gibt, werden nicht alle genutzt. Die obersten 6 können nicht vorkommen, und ihr Vorkommen in einem gegebenen String widerlegt die These, dass es sich um einen BCD-Code handelt.<br /> <br /> Im 2. String &quot;0100.0000.0001.1101.0011.0010.1011.0001&quot; kommt bspw. 1101 vor, was der Kodierung für 13 entsprechen würde, was aber keine Dezimal-Ziffer ist und daher in BCD-Kodierung nicht vorkommen kann.<br /> <br /> Viele Grüße<br /> <br /> Lukas König KOD-AA https://info2.aifb.kit.edu/qa/index.php?qa=1213&qa_1=e-warum-2-3-nicht-bcd&show=1214#a1214 Thu, 13 Nov 2014 10:37:51 +0000