Zahl in dyadischer Darstellung verdoppeln über Turingmaschine |
04.07.2021, 17:27 | Enomine | Auf diesen Beitrag antworten » | ||
Zahl in dyadischer Darstellung verdoppeln über Turingmaschine [attach]53273[/attach] Ansatz siehe unten. Frage 1: So richtig? Fehler? Frage 2: Ich habe dies "nur" erkannt, weil ich mir vom Computer x=1 bis x=32 und jeweils 2x in dyadischer Darstellung habe ausgeben lassen. Wie zum Henker soll ich solche Regeln bei z.B. nur einer Wertetabelle von 1 bis 8 (aus Zeitgründen) in der Klausur erkennen? Frage 3: Wie sieht denn nun eine "Begründung der Korrektheit über die dyadische Darstellung" aus? Habe keine Ahnung was ich da schreiben soll. Ideen? Vorschläge? [attach]53274[/attach] [attach]53275[/attach] Computerausgabe: print(x + ":" + dya(x) + "zu" + dya(2x)); 1: 1 zu 2 2: 2 zu 12 3: 11 zu 22 4: 12 zu 112 5: 21 zu 122 6: 22 zu 212 7: 111 zu 222 8: 112 zu 1112 9: 121 zu 1122 10: 122 zu 1212 11: 211 zu 1222 12: 212 zu 2112 13: 221 zu 2122 14: 222 zu 2212 15: 1111 zu 2222 16: 1112 zu 11112 17: 1121 zu 11122 18: 1122 zu 11212 19: 1211 zu 11222 20: 1212 zu 12112 21: 1221 zu 12122 22: 1222 zu 12212 23: 2111 zu 12222 24: 2112 zu 21112 25: 2121 zu 21122 26: 2122 zu 21212 27: 2211 zu 21222 28: 2212 zu 22112 29: 2221 zu 22122 30: 2222 zu 22212 31: 11111 zu 22222 32: 11112 zu 111112 Dankeschön Enomine |
||||
04.07.2021, 18:07 | Enomine | Auf diesen Beitrag antworten » | ||
Problem 2 Ein Spezialfall ist die Aufgabenstellung [attach]53276[/attach] Frage 4: Wie lautete hier eine "Begründung der Korrektheit über die dyadische Darstellung"? Auch hier der Ansatz: [attach]53277[/attach] Computerausgabe: print(x + ":" + dya(x) + "zu" + dya(2x-1) + "(" + 2x-1 + ")"); 2: 2 zu 11 (3) 4: 12 zu 111 (7) 6: 22 zu 211 (11) 8: 112 zu 1111 (15) 10: 122 zu 1211 (19) 12: 212 zu 2111 (23) 14: 222 zu 2211 (27) 16: 1112 zu 11111 (31) 18: 1122 zu 11211 (35) 20: 1212 zu 12111 (39) 22: 1222 zu 12211 (43) 24: 2112 zu 21111 (47) 26: 2122 zu 21211 (51) 28: 2212 zu 22111 (55) 30: 2222 zu 22211 (59) 32: 11112 zu 111111 (63) 34: 11122 zu 111211 (67) 36: 11212 zu 112111 (71) 38: 11222 zu 112211 (75) 40: 12112 zu 121111 (79) 42: 12122 zu 121211 (83) 44: 12212 zu 122111 (87) 46: 12222 zu 122211 (91) 48: 21112 zu 211111 (95) 50: 21122 zu 211211 (99) 52: 21212 zu 212111 (103) 54: 21222 zu 212211 (107) 56: 22112 zu 221111 (111) 58: 22122 zu 221211 (115) 60: 22212 zu 222111 (119) 62: 22222 zu 222211 (123) 64: 111112 zu 1111111 (127) Dankeschön - Enomine |
||||
04.07.2021, 19:32 | Leopold | Auf diesen Beitrag antworten » | ||
Folgendes scheint in der dyadischen Darstellung zu gelten (ich lasse weg und verwende die dyadische Darstellung selbst als Notation für die natürliche Zahl). Addieren von 1 Suche von rechts die erste 1, mache sie zu 2 und, so vorhanden, die Stellen rechts davon zu 1 (besteht die Zahl aus lauter 2-en, so ersetze diese durch lauter 1-en und hänge eine weitere 1 an). 12122211+1 = 12122212 12122212+1 = 12122221 12122221+1 = 12122222 12122222+1 = 12211111 Subtrahieren von 1 Suche von rechts die erste 2, mache sie zu 1 und, so vorhanden, die Stellen rechts davon zu 2 (besteht die Zahl aus lauter 1-en, so streiche eine Stelle und ersetze die restlichen 1-en durch 2-en). 12211111-1 = 12122222 12122222-1 = 12122221 12122221-1 = 12122212 12122212-1 = 12122211 Verdoppeln (Umkehrung der Aufgabe in deiner vorigen Matheboard-Anfrage) Subtrahiere 1 und hänge rechts eine 2 an (siehe die Beispiele beim Subtrahieren) 12211111 mal 2 = 121222222 12122222 mal 2 = 121222212 12122221 mal 2 = 121222122 12122212 mal 2 = 121222112 |
||||
04.07.2021, 20:01 | Enomine | Auf diesen Beitrag antworten » | ||
Ach herje das ist ja genial sich mal so allgemein gedanken darüber zu machen. Auf die Idee, wäre ich ohne dich nicht gekommen Ich glaub ich mach mir mal ne Übersichtstabelle dazu. Danke - Enomine |
||||
04.07.2021, 20:52 | HAL 9000 | Auf diesen Beitrag antworten » | ||
Da dies bereits der zweite Thread zu dieser "dyadischen Darstellung" ist: Bei fester Stellenzahl ist das eigentlich nichts weiter als eine Kombination aus Offsetverschiebung und üblicher Binärdarstellung. Beim Übergang zur nächsten Stellenzahl gibt es dann natürlich ein paar Besonderheiten zu beachten... Beispiel dezimal 43: Es ist Die 5-stellige Binärdarstellung von 43-31 = 12 ist 01100 --> alle Stellen um 1 erhöhen ergibt die dyadische Darstellung vom 43: 12211 |
||||
04.07.2021, 21:28 | Enomine | Auf diesen Beitrag antworten » | ||
Danke, dein Beginn einer Übersicht hat mich echt weiter gebracht. Dadurch wird mir auch jetzt klar, dass man 2x-1 auch anders Turing-Berechnen kann, als im zweiten Post von mir hier dargestellt. Dort mache ich den "direkten Weg", der aber nur bei geraden Zahlen funktioniert (bei ungeraden schlägt er fehl). Der allgemeine Weg ist dann also: a) Subtrahiere 1 b) Rechtslauf bis Zahlenende. Schreibe "2*" (hänge 2 an) c) Subtrahiere 1 a und b für das Verdoppeln. c für die -1. [attach]53279[/attach]
Ja ich verstehe. Ich kann das als Kontrollinstrument benutzen. Zu einer Zahl nehme ich die nächst kleinere und nächst höhere Zweierpotenz - 1 Bsp: 7 nächst kleinere: 2^3-1 = 7 nächst höhere: 2^4-1=15 Dann rechne ich meine Wunschzahl (7) minus die nächst kleinere Zweierpotenz -1 (7) also 7-7=0 Dann weiß ich, dass ich die 0 als 3er-Binärzahl darstellen muss: 000 Dann muss ich alle Stellen um 1 erhöhen und habe die dyadische Darstellung von 7: 111. Danke - Enomine |
||||
Anzeige | ||||
|
||||
04.07.2021, 21:40 | Enomine | Auf diesen Beitrag antworten » | ||
Und so sieht die Lösung für 2x-1 dann in allgemeinerer Form aus. (Untere Seitenhälfte) GEIL! [attach]53280[/attach] So brauche ich keine Wertetabellen in der Klausur schreiben, solange die Grundrechenarten "halbieren", "verdoppeln", "addition", "subtraktion" gefordert werden. Danke - Enomine |
|
Verwandte Themen
Die Beliebtesten » |
Die Größten » |
Die Neuesten » |
|