Zahlensysteme

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

Zahlensysteme
Wie kann man eine Zahl eines Basissystems sagen wir mal 7 mit einer Zahl zur Basis 16 multiplizieren/dividieren/subtrahieren/addieren unterangeben des Wertebereiches min/max und der Zahl ?


Entweder durch ein ganz spezielles Verfahren für diese Basen oder indem du eines von beiden in die Basis des anderen umrechnest…


Oder du hast Glück und eins der Systeme ist eine Potenz des anderen in dem Fall kannst du n-1 Stellen zusammenfassen
(10)_2=(2)_4,
(100)_2=(10)_4

Ansonsten nur mit Zwischenschritt über das Dezimalsystem beispielsweise…


Nein, das „nur“ ist so falsch. Du kannst auch eine der Zahlen in die Basis der anderen Zahl umwandeln. Beachte, dass es in der Vergangenheit in (Mini)klausuren Aufgabenstellungen gab, die explizit das (mit Rechenweg) gefordert haben und explizit eine Umwandlung ins Dezimalsystem ausgeschlossen haben. Falls es nicht ausgeschlossen ist, kann man sich (kurz) Gedanken drum machen, ob einem das Dezimalsystem eher liegt.

1 „Gefällt mir“

wäre gut wenn man das anhand von einer Rechnung hinschreibt zum besseren Verständnis!


Ja gut aber in diesen Übungsaufgaben gilt doch eben dass die eine Basis eine Potenz der anderen ist oder etwa nicht?!


Oh, mir war nicht klar, dass ihr euch auf bestimmte Übungsaufgaben bezieht. Mir sind weder aktuelle Übungsblätter noch das aktuelle Praktikum bekannt :wink: Aber ja, man sollte definitiv ausnutzen, wenn zwei Basen via einer Potenz verwandt sind.


War mir auch nicht klar…

Und tut es wohl auch nicht, da das mit den Potenzen bei der Anfangsfrage ja garnicht der Fall ist…


Also ich meine es gibt solche Übungsaufgaben und daher vermute ich dass man in den Klausuren eben genau diesen Trick anwenden soll. Ich vermute ehrlich gesagt dass man mit etwas Zahlentheorie sogar schnell beweisen kann dass es gar nicht ohne Zwischenschritt geht wenn die beiden Basen keine Potenzen sind bzw teilerfremd sind, bin mir aber nicht ganz sicher…


Meinst du damit, dass du ein konkretes Beispiel benötigst?

  1. Addiere 456 (Basis 7) zu DEADBEEF (Basis 16)
  2. Multipliziere CAFEBABE (Basis 32) mit 101011 (Basis 2)
  3. Dividiere DEADCAFE durch 121 (Basis 3)

In Aufgabe 1 würde ich empfehlen, 456 in Basis 16 umzuwandeln. Denn würdest du DEADBEEF in Basis 7 umwandeln, bräuchtest du noch mehr Stellen, was schnell unübersichtlich wird. In Aufgabe 2 empfehle ich kus Ansatz und würde 101011 zerhackstückeln in 10|1011 (Basis 2) = 2B (Basis 16).

In Aufgabe 3 lohnt es sich, 22 genauer anzusehen und festzustellen, dass das 16 (Basis 10) ist. Damit ist das eine Division durch 2^4, also ein Rechtsshift um 4 Einheiten (Basis 2) bzw. 1 Einheit (Basis 16). Ergebnis ist also „DEADCAF.E“ (Basis 16, Fixpunktzahl).


[quote=ku]Ich vermute ehrlich gesagt dass man mit etwas Zahlentheorie sogar schnell beweisen kann dass es gar nicht ohne Zwischenschritt geht wenn die beiden Basen keine Potenzen sind bzw teilerfremd sind, bin mir aber nicht ganz sicher…
[/quote]
Problematisch ist hier wohl, wie man “ohne Zwischenschritt” sauber formalisieren möchte. (Ich mag Beweistheorie und möchte dir gar nicht absprechen darüber nachzudenken, wenn es dich interessiert :wink: Ganz im Gegenteil: go ahead!)


Ich würde behaupten, dass es immer ohne Zwischenschritt geht, nur das Verfahren möglicherweise etwas doof ist.

Ähnlich, wie bei den BCD-Zahlen.


Naja das Problem ist dass man [n]_7 und [k]_16 gar nicht miteinander verrechnen darf Multiplikation und Addition sind nur auf dem Körper 7 ( Primzahl, es existiert eindeutiges Multiplikatives und Additives Inverses) und auf dem Ring 16 ( keine Primzahl => kein Körper) definiert.

Logisch das ist kein Beweis, mehr eine Vorueberlegung aber man muss “kein Zwischenschritt” nicht formalisieren wenn man eine äquivalente Aussage machen die sich dann (hoffentlich) formalisieren lässt.

Zu dem was du geschrieben hast, natürlich muss man nicht ins Dezimalsystem umwandeln man kann eine Zahl vom 7er auch ins 16er System umwandeln oder man kann beide Zahlen ins 42er System umwandeln, das meine ich aber halt mit Zwischenschritt…


Aber ich verstehe nicht wie du 456 ins 16er System umwandeln willst ohne Zwischenschritt???


Naja, gerade wenn man einen einen konkreten Zahlenbereich hat, wie im Anfangspost erwähnt, könnte man theoretisch einfach eine Funktion hernehmen, die für jede Eingabekombination die Ausgabe angibt, welche man vorher ausgerechnet und eingebaut hat.


Was du im Sinn hast, ist eine Art Programmiersprache (Formal system), die alle erlaubten atomaren Operationen listet. Wenn du als diese Programmiersprache das zulässt, was man normalerweise als Mathematiker/Informatiker hinschreibt, dann schlägt das fehl genau aus dem Grund, den Destranix genannt hat.


Sorry ich verstehe aber immer noch nicht wie man beispielsweise DEADBEEF vom 16er System ins 7er System umwandeln kann ohne den Zwischenschritt über das Dezimalsystem zu machen. Darum geht’s mir, das ist es was ich nicht verstehe…

EDIT [n]_7 und [k]_16 “darf” man tatsächlich nicht miteinander verrechnen weil eben Multiplikation und Addition nur auf dem jeweiligen Körper definiert sind. Klar könnte man eine Verknüpfung wie folgt definieren
[n]_i+[k]j = irgendwas zb [n]{i+j}, das geht, ob es Sinn macht ist eine andere Frage.


ob du ins 10er-System oder ins 7er-System umwandelst, du musst in beiden Fällen den exakt gleichen Algorithmus anwenden:

DEADBEEF_16 = 15_10*(16_10)^0 + 14_10*(16_10)^1 + 14_10*(16_10)^2 +  ...
DEADBEEF_16 = 21_7 *(22_7 )^0 + 20_7 *(22_7 )^1 + 20_7 *(22_7 )^2 +  ...

Naja, bezüglich der Addition auf dem jeweiligen Restklassenring kann man diese Elemente sicherlich nicht miteinander verknüpfen, da ja [k]_16 ganz sicher nicht in Z/7Z liegt, ist ja auch eine Restklasse zu 16. Aber das „darf“ man nicht miteinander verrechnen ist hier falsch, man muss dann zusätzlich noch die Operation nennen, also man kann diese Elemente [n]_7 und [k]_16 bezüglich dieser so definierten Operationen eben nicht verknüpfen, aber es mag sicherlich Verknüpfungen geben. Außerdem wäre in diesem Moment schon [n]_7 + [k]_16 syntaktisch falsch, weil auf welche Verknüpfung beziehst du dich jetzt? Ich schätze darauf wollte Marcel eigentlich hinaus.