Zum Inhalt springen

Wo sind die Mathematik/Informatik Spezialisten?


Moeki

Empfohlene Beiträge

Hallo.

Ich bin Student für Lehramt an Gymnasien mit der Fächerkombination Informatik und Politische Bildung im ersten Fachsemester. Demzufolge muss ich auch die Veranstaltung Mathematik für Informatiker 1 besuchen. Wöchentlich muss wir hier eine Aufgaben auf einem Lösungszettel lösen und bewerten lassen.

Langer Rede kurzer Sinn: Ich komme mit allen 3 Aufgaben klar, ausser folgender. Mathe hatte ich in der Oberstufe das Letzte mal vor 4 Jahren, auch meine Mitstudenten kommen net weiter.

Also hier die Aufgabe und nachfolgend meine Lösungsansätze, wobei ich aber Schwierigkeiten mit der Formulierung einer allgemeinen Formel habe.

Das Produkt zweier natürlicher Zahlen x und y kann auf die folgende Weise gebildet werden. Man ersetze x durch die grÅ¡oßte ganze Zahl x1, die bei Division von x durch 2 mit Rest entsteht und y durch y1 = 2y. Nun wird x1 durch die grÅ¡oßte ganze Zahl x2 ersetzt, die bei Division von x1 durch 2 mit Rest entsteht und y1 durch y2 = 2y1. Nach n Schritten erhÅ¡alt man xn = 1 und yn = 2ny. Nun streiche man alle yi, fÅ¡ur die xi eine gerade Zahl ist. Die Summe der verbleibenden yi ergibt das Produkt x · y.

(a) Demonstrieren Sie diesen Algorithmus durch 2 Beispiele!

(B) Begründen Sie, warum der Algorithmus auf das Produkt x · y führt.

© Schreiben Sie in einer geeigneten Programmiersprache ein Programm, das diesem Algorithmus folgt. Bei erfolgreicher Bearbeitung kann das Programm nach Absprache mit dem Å¡Ubungsleiter in der Å¡Ubung vorgefÅ¡uhrt werden. (Zusatzpunkt)

x, y € |N

x*y = ?

x1 = x div 2

y1 = 2 y

usw. bis xn = 1 und yn = 2 hoch n * y

alle yi streichen, wenn xi gerade (x mod 2 = 0)

summe yi = x*y

Weiter komme ich leider nicht. wobei meine vorgehensweise natürlich funktioniert, allerdings ohne formel. :,-(

Danke für eure Hilfe.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Da ich im Folgenden viele mathematische Zeichen verwende, nutze ich die LaTeX-Schreibweise, um die Lesbarkeit zu gewährleisten.

Zuerst einmal sind x,y \not\in\mathbb{N}.

x,y\in\mathbb{Q}, denn \mathbb{N} bezeichnet die natürlichen Zahlen, also (0,)1,2,3,4,... Ob man die 0 nun hinzunimmt oder nicht ist Geschmackssache und ist hier ja auch nicht das Thema. Die ganzen Zahlen \mathbb{Q} beinhalten auf jeden Fall die 0 und zusätzlich zu den positiven Zahlen, auch die negativen, also: 0,1,-1,2,-2,...

Zusammen mit der Multiplikation bildet die Menge \mathbb{Q} eine Gruppe, das bedeutet insbesondere, dass die Multiplikation abgeschlossen ist: \forall x,y: x*y\in\mathbb{Q}. Damit hast du schon mal den ersten Schritt getan, dass Ergebnis einer Multiplikation innerhalb von \mathbb{Q} liegt.

Bei einer Folge von x_1,...x_n für die gilt, dass alle Glieder gerade sind bis auf das letzte Element (dies muss 1 sein) (x=2^n,n\in\mathbb{N}) ist klar, warum das Verfahren funktioniert: Die Multiplikation wird auf 2*2...*2 (insgesamt n-Mal) aufgeteilt. n-Mal *2 rechnen ist aber 2^n (und das ist wiederum der Ausgangswert x).

Bei Auftreten von ungeraden x_i gilt, dass alle nachfolgenden x_{i+1}, ... auch ungerade sind. Ein Beispiel:

30 * 3 = 90

-------

15 6

7 12

3 24

1 48

--------

= 90

In diesem Fall ist es also keine reine Umformung mehr, da 1*48\not= 90 ist. Es haben sich Rundungsfehler eingeschlichen, denn wir haben die 0.5,0.75,0.875 bei 7,3,1 "unterschlagen" in dem wir den Rest nicht berücksichtigt haben. Dabei ist der Rundungsfehler der aktuellen Zahl genauso groß wie die darüberstehenden Zeilen mit ungeradem x aufsummiert. Auf das Beispiel bezogen:

3*24 müsste ja eigentlich 3.75*24 lauten. 0.75*24= 18, 12+6= 18. Das gleiche gilt für 0.875*48=42.

Diesen Rest müssen wir also aufsummieren, um auf das richtige Ergebnis zu kommen, bei geraden Zahlen existiert dieser Rundungsfehler aber nicht, weshalb wir diese Zeilen wegstreichen können.

Ich hoffe, das war jetzt einigermaßen verständlich die Aufgabe (B) eigentlich viel zu viel davon, denn ich sollte sie ja eigentlich nicht lösen.

Aufgabe (a) ist ja einfach nur ne Anwenung mit Zettel und Stift, das sollte klar sein. Aufgabe © ist eine 1zu1 Umsetzung des Algorithmus in eine Programmiersprache, dazu sage ich auch nichts.

Übrigens: Dieses Verfahren heißt Russische Multiplikation.

HTH

Jan

Link zu diesem Kommentar
Auf anderen Seiten teilen

Den beschrieben Ablauf darfst du als Algorithmus gelten lassen. Ein Algorithmus ist ja nicht nur eine geschlossene Formel.

Wikipedia hat eine Erklärung, was ein Algorithmus ist:

http://de.wikipedia.org/wiki/Algorithmus

Ich habe sie mir jetzt nicht durchgelesen, aber normalerweise sind die Beiträge bei Wikipedia ganz brauchbar.

HTH

Jan

Link zu diesem Kommentar
Auf anderen Seiten teilen

Na für diesen Algorithmus :-) so dass ich den dann in einer Programmiersprache umsetzen kann. Oder kann ich die bechriebenen Abläufe als Algorithmus gelten lassen?

Das Teilen der xi Werte ist ein Bit-Shift nach Rechts. Das Verdoppeln von yi ein Schift nach links. Danach machst Du einen Test auf das Recht Bit von xi(entspricht der gerade/ungerade Entscheidung) und wenn das Bit gesetzt ist (Zahl ist gerade), dann addierst Du den Inhalt des Registers/der Variable yi zum Zwischenergebnis. Nicht vergessen, das Zwischenergebnis mit 0 zu initialisieren und die erste Zeile (i=1, also die Eingabe) ebenfalls zu berücksichtigen. Für die Multiplikation brauchst Du also nur die Addition, einen Bit-Test und Bit-Shifts als zugrundeliegende Operationen.

Ich hoffe das hilft und verwirrt nicht :D

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das Teilen der xi Werte ist ein Bit-Shift nach Rechts. Das Verdoppeln von yi ein Schift nach links. Danach machst Du einen Test auf das Recht Bit von xi(entspricht der gerade/ungerade Entscheidung) und wenn das Bit gesetzt ist (Zahl ist gerade), dann addierst Du den Inhalt des Registers/der Variable yi zum Zwischenergebnis. Nicht vergessen, das Zwischenergebnis mit 0 zu initialisieren und die erste Zeile (i=1, also die Eingabe) ebenfalls zu berücksichtigen. Für die Multiplikation brauchst Du also nur die Addition, einen Bit-Test und Bit-Shifts als zugrundeliegende Operationen.

Ich hoffe das hilft und verwirrt nicht :D

Was aber immer noch ein Algorithmus ist und keine Formel. Und keine schöne Beschreibung für einen Algorithmus, weil du Implementationsdetails in den Algorithmus einfließen lässt.

Errata:

Moecki: Ich habe am Samstag am Vormittag einen Fehler gemacht. Ich hatte aus irgendeinem Grund gelesen, dass x,y \in\mathbb{Q} also ganze Zahlen sein sollen. Beim nochmaligen Draufschauen eben habe ich festgestellt, dass es natürliche Zahlen sein sollen. Damit hattest du Recht, als du schriebst, dass x,y\in\mathbb{N} sind. Sorry...

Bis denn dann

Jan

Link zu diesem Kommentar
Auf anderen Seiten teilen

Die "Formel" wäre "Ergebnis=x*y".

Aber genau die Operation "*" soll ja mit einem Algorithmus (dem beschriebenen) umgesetzt werden. Fordern wir für den Algorithmus nun eine Formel, würden wir uns im Kreis drehen ;). Letzlich aber alles eine Frage der Definition :)

Implementationsdetails sind keine wirklichen drin, ich habe es nur etwas vereinfacht, was ihm vielleicht bei der Umsetzung hilft (Zwischensumme statt dem Streichen von Zeilen und Aufsummieren der Übrigen). Die Multiplikation mit Shift zu machen ist IMO wichtig, denn wenn man y=y[i-1]*2 rechnet, hätte man wieder eine Multiplikation drin (wer will hier schon rekursiv werden? ;)), und genau die Multiplikation soll ja beschrieben werden. Analog die Division: Teilen durch 2 am besten vermeiden und durch Rechts-Shift ersetzen. Das mit dem möglichst kleinen Divisionsrest (der größten Zahl die bei Division mit dem kleinstem Rest entsteht) erübrigt sich so auch automatisch.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Aber genau die Operation "*" soll ja mit einem Algorithmus (dem beschriebenen) umgesetzt werden. Fordern wir für den Algorithmus nun eine Formel, würden wir uns im Kreis drehen ;). Letzlich aber alles eine Frage der Definition :)

Das stimmt so nicht. Es ist ein Algorithmus für russische Bauern (ich glaube, so geht die Geschichte zu diesem Algorithmus), die eine Multiplikation für beliebige Multiplikanten nicht ausführen können. Sehr wohl aber eine Zahl verdoppeln können. Auf jeden Fall ist es ein Algorithmus und keine Definition, weshalb auch auf die Multiplikation zurückgegriffen werden kann.

Implementationsdetails sind keine wirklichen drin, ich habe es nur etwas vereinfacht, was ihm vielleicht bei der Umsetzung hilft (Zwischensumme statt dem Streichen von Zeilen und Aufsummieren der Übrigen). Die Multiplikation mit Shift zu machen ist IMO wichtig, denn wenn man y=y[i-1]*2 rechnet, hätte man wieder eine Multiplikation drin (wer will hier schon rekursiv werden? ), und genau die Multiplikation soll ja beschrieben werden. Analog die Division: Teilen durch 2 am besten vermeiden und durch Rechts-Shift ersetzen. Das mit dem möglichst kleinen Divisionsrest (der größten Zahl die bei Division mit dem kleinstem Rest entsteht) erübrigt sich so auch automatisch.

Aber selbstverständlich sind Implementationsdetails vorhanden! Was ist denn bitte schön ein shift nach links bzw. rechts? Er hat die Semantik einer Multiplikation/Division. Abgesehen davon ist auf den natürlichen Zahlen kein Shift-Operator definiert, dieser kommt aus der Informatik und nicht aus der Mathematik und ist damit doch ein Implementationsdetail. Übrigens: was mache ich denn mit Programmiersprachen, die keinen Shift-Operator mitbringen?

Dass die shift-Geschichte völlig unwichtig ist, habe ich weiter oben in diesem Post geschrieben: Ein Algorithmus ist keine Definition, weshalb die Verwendung der Multiplikation erlaubt ist.

HTH

Jan

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Jan,

Es ist ein Algorithmus für russische Bauern (ich glaube, so geht die Geschichte zu diesem Algorithmus)

Die Geschichte kenne ich nicht, aber ich vermute die Aufgabe wurde gestellt, um zu zeigen, das man die Multiplikation zweier ganzer positiver Zahlen (x*y) mit geringerem Aufwand durchführen kann, als z.B. x einfach y-mal aufzuaddieren.

Auf jeden Fall ist es ein Algorithmus und keine Definition, weshalb auch auf die Multiplikation zurückgegriffen werden kann.

Habe nie bestritten, das es ein Algorithmus ist und man das beschriebene Verfahren auch als solches bezeichnen sollte.

Multiplikation als gegeben vorauszusetzen finde ich hier unsinnig. Es ist ja grade ein Algorithmus für die Multiplikation, der implementiert werden soll. Dann eher Verdopplung mittels Addition. Ich finde das Nette am Weg mit den Shifts ist grade, das man das Divisions-Problem so auch bequem lösen kann.

Aber selbstverständlich sind Implementationsdetails vorhanden!

Gut, man kann es als Kochrezept nehmen. Die Aufgabenstellung war aber auch schon recht detailiert. Es ist aber keine abgabefertige Lösung mit Sourcecode. Ich ging davon aus, das er etwas präzisere Hilfe möchte.

Er hat die Semantik einer Multiplikation/Division

Nicht wirklich. Pro geshiftetem Bit ist nur Verdoppelung/Division ohne Rest durch 2 möglich.

Abgesehen davon ist auf den natürlichen Zahlen kein Shift-Operator definiert

Du verwechselt eine Darstellungsform (hier binär) mit einer Menge an Zahlen (hier den natürlichen). N kann dezimal, binär, octal, hexadezimal, ... dargestellt werden.

dieser kommt aus der Informatik und nicht aus der Mathematik und ist damit doch ein Implementationsdetail

Ist als mathematische Operation beschreibbar.

Übrigens: was mache ich denn mit Programmiersprachen, die keinen Shift-Operator mitbringen?

Es ist eine Übungsaufgabe, kein reales Problem.

Dass die shift-Geschichte völlig unwichtig ist

Für eine einfache Umsetzung vom Algorithmus ist der Shift-Operator verzichtbar, bzw. hier durch Division ohne Rest und Verdoppelung ersetzbar. Für das Verständnis, warum ein solcher Algorithmus in dieser Form sinnvoll sein kann, ist sie jedoch IMO sinnvoll.

Da ich nicht in seiner Vorlesung/Übung war, weiss ich nicht, was die Macher der Aufgabe für eine Lösung erwarten. Daher kann ich nur einen Lösungsweg anbieten, der mir zusagt und in diesem Fall spontan eingefallen ist. Es ist allerdings schon denkbar, das nur etwas einfacherers gefordert war, denn gestern war für ihn evtl. erst der erste Tag der Vorlesungszeit.

Link zu diesem Kommentar
Auf anderen Seiten teilen

@Orffi:

Deinen angegebenen Erklärungsansatz bezüglich der Aufgabe kann ich nicht verstehen. :( Erstmal halte ich Latex für nicht ganz so übersichtlich wie du es anscheinend tust und weiterhin lassen die fehlenden Absätze die Augen sehr schmerzen. Das allein wäre aber noch zu vertreten, wenn der Lösungsansatz wenigstens zu begreifen wäre. Aber erstens benutzt du als Nachweis Zahlenbeispiele (und verspielst damit den allgemeinen Ansatz) und dann kann ich deiner 2*2*... Begründung überhaupt nicht folgen. :confused:

Deine Kritik an Bubbles "Implementierungsdetails" für diesen Algorithmus unterstütze ich jedoch voll und ganz.

@Bubble:

So leid es mir tut, aber ich glaube, dass Orffi den Nagel auf den Kopf trifft. :rolleyes: Für den Algorithmus, wie er hier gefordert wird, halte ich die Angabe von Schiebeoperationen (und vor allem die Vehemenz, mit der du sie verteidigst) oder auch die Angabe, welches Bit dafür zuständig ist, ob die Zahl grade/ungrade ist und wie das getestet wird, für absolut überflüssig... im Gegenteil sogar für äusserst verwirrend.

@Moeki:

Ich bin mir nit sicher, ob du das Prinzip an sich bereits verstanden hast? Hier mal zwei Beispiele:


 5 *  3

 2 *  6 <- diese Zeile streichen

 1 * 12

    ====

      3 + 12 = 15



12 * 12 <- diese Zeile streichen

 6 * 24 <- diese Zeile streichen

 3 * 48

 1 * 96

    ====

     48 + 96 = 144
Diese Beispiele sind dafür gedacht, das Prinzip zu verstehen... für deine Lösung solltest du eigene verwenden & nachrechnen, damit du es wirklich begreifst. Dann noch zum Algorithmus selber. Ich gebe mal einen an, wie ich es persönlich machen würde:

Setze Resultat = 0

Wiederhole

{

    Wenn "x ist ungerade"

        Resultat = Resultat + y;

    Wenn "x ist gleich 1"

        Beende Schleife;

    x = x div 2;

    y = y * 2;

}
Anmerkung: Ob nun "ist ungerade" als "if( x & 1 )" oder "if( x % 2 )" oder "if( IsOdd(x) )" implementiert ist, ist absolut unerheblich für die Wirksamkeit. Und die Herleitung? Hm... ich weiss nicht ganz sicher, was bei euch verlangt wird. Ich gebe mal nicht alles mit Vor/Neben-bedingungen usw. an, sondern nur _meinen_ Rechenweg (der genauso auch falsch sein kann!)

Der jeweils nächste Schritt bei der Multiplikation von x und y wäre

nach diesem Algorithmus:


  (x / 2) * (y * 2)


Wir unterscheiden zwei Fälle:


1) x ist eine gerade Zahl: (x = 2n)


    ( x / 2) * (y * 2)

  = (2n / 2) * (y * 2)

  =    n     * (y * 2)

  = 2*n*y


2) x ist ungerade (x = 2n+1)


    (   x   / 2) * (y * 2)

  = ((2n+1) / 2) * (y * 2)

  = (  n + 1/2 ) * (y * 2)

  = (n * y * 2) + (1/2 * y * 2)

  = 2*n*y + y

            |

            +-> Wir sehen also, dass diese noch fehlende y später

dazu addiert werden müssen... was eben mit der Streichung

der "graden" Zeilen und Mitaddierung der "Ungeraden" passiert.

Gruss,

Glen Coe.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Jan,

Habe nie bestritten, das es ein Algorithmus ist und man das beschriebene Verfahren auch als solches bezeichnen sollte.

Deine Bemerkung, dass hier keiner rekursiv werden wil, hatte ich zum Anlass genommen, deutlich zu machen, dass der Algorithmus die Multiplikation nicht definiert.

Multiplikation als gegeben vorauszusetzen finde ich hier unsinnig. Es ist ja grade ein Algorithmus für die Multiplikation, der implementiert werden soll. Dann eher Verdopplung mittels Addition. Ich finde das Nette am Weg mit den Shifts ist grade, das man das Divisions-Problem so auch bequem lösen kann.

Das ist ein Standpunkt, den ich nicht unbedingt Teile. Wir beide können beide im Kopf multiplizieren, aber irgendwann wird es ein wenig umständlich, so dass wir einen Taschenrechner verwenden. Wenn wir keinen Taschenrechner oder Computer zur Hand haben, müssen, wir das Ergebnis mit Zettel und Stift berechnen. Dazu kann es natürlich mehrere Möglichkeiten geben, aber dies ist ein Weg, den wir gehen können, um das Ergebnis trotzdem zu erhalten.

Gut, man kann es als Kochrezept nehmen. Die Aufgabenstellung war aber auch schon recht detailiert. Es ist aber keine abgabefertige Lösung mit Sourcecode. Ich ging davon aus, das er etwas präzisere Hilfe möchte.

Ich hatte ihn so verstanden, dass er glaubte, eine Formel zu benötigen, um ein Programm zu schreiben. Ich hatte deine Antwort darauf gedeutet, dass das es eine Formel sein soll. Was es nicht ist, sondern ein Algorithmus mit unnötigen Implementationsdetails.

Nicht wirklich. Pro geshiftetem Bit ist nur Verdoppelung/Division ohne Rest durch 2 möglich.

Ja, da hast du recht, es war verkürzt das, was ich meinte, aber du hast recht, meins war Mehrdeutig formuliert.

Du verwechselt eine Darstellungsform (hier binär) mit einer Menge an Zahlen (hier den natürlichen). N kann dezimal, binär, octal, hexadezimal, ... dargestellt werden.

Nein, ich verwechsel da sicher nichts! Wir bewegen uns nicht in der Informatik, sondern in der Mathematik. Und wenn man sich die Defintionen (es gibt mindestens zwei) anschaut, wie die Menge der natürlichen Zahlen aufgebaut ist (Peano-Axiome), dann kann man erkennen, dass von einer Darstellungsform nicht die Rede ist. Du müsstest den shift-Operator schon auf die Zahl "10" anwenden und nicht auf "1010".

Ist als mathematische Operation beschreibbar.

Ja und? natürlich ist der shift-Operator als mathematische Operation beschreibbar. Trotzdem ist der shift-Operator auf natürliche Zahlen nicht definiert. Mathematik abstrahiert von der Speicherung der Zahlen.

Für eine einfache Umsetzung vom Algorithmus ist der Shift-Operator verzichtbar, bzw. hier durch Division ohne Rest und Verdoppelung ersetzbar. Für das Verständnis, warum ein solcher Algorithmus in dieser Form sinnvoll sein kann, ist sie jedoch IMO sinnvoll.

Da ich nicht in seiner Vorlesung/Übung war, weiss ich nicht, was die Macher der Aufgabe für eine Lösung erwarten. Daher kann ich nur einen Lösungsweg anbieten, der mir zusagt und in diesem Fall spontan eingefallen ist. Es ist allerdings schon denkbar, das nur etwas einfacherers gefordert war, denn gestern war für ihn evtl. erst der erste Tag der Vorlesungszeit.

Es geht hier nicht um einfach oder nicht. Und wenn ich den Algorithmus implementieren müsste, würde ich vielleicht auch auf den shift-Operator zurückgreifen. (Vielleicht nur deshalb, weil moderne Compiler im Zweifelsfall meine Multiplikation (mal zwei) in eine shift-Operation umsetzen, darum brauche ich mich nicht zu kümmern.) Es geht eher darum, dass es bei einer Beschreibung nicht auf das shift ankommt. Wenn jemand, dem du den Algorithmus erklärst, darauf kommt, dass er den shift-Operator verwenden kann, dann ist es in Ordnung, nur sollte er nicht schon bei der Beschreibung verwendet werden.

Bis denn dann

Jan

Link zu diesem Kommentar
Auf anderen Seiten teilen

@Orffi:

Deinen angegebenen Erklärungsansatz bezüglich der Aufgabe kann ich nicht verstehen. :( Erstmal halte ich Latex für nicht ganz so übersichtlich wie du es anscheinend tust und weiterhin lassen die fehlenden Absätze die Augen sehr schmerzen. Das allein wäre aber noch zu vertreten, wenn der Lösungsansatz wenigstens zu begreifen wäre. Aber erstens benutzt du als Nachweis Zahlenbeispiele (und verspielst damit den allgemeinen Ansatz) und dann kann ich deiner 2*2*... Begründung überhaupt nicht folgen. :confused:

Absätze:

Ich werde mich bessern. :)

Genereller Ansatz:

Da hast du in der Tat recht, mit einem Beispiel kann man nicht auf die Allgemeinheit schließen. Das wollte ich auch gar nicht. Es sollte als Beispiel dienen, dass es darum geht, die Rundungsfehler aufzusummieren.

LaTeX:

Ich gebe zu, dass es vielleicht nicht der optimalste Weg ist, aber da in diesem Forum nur "normale" Zeichen möglich sind, ist LaTeX meiner Meinung nach, die beste Lösung. Aber ich nutze auch LaTeX täglich, weshalb es mir wohl einfacher fällt in LaTeX-Notation zu denken.

2*2*2...:

Ich wollte eigentlich nur sagen, dass bei 2^n *x Die Zahl x n-mal verdoppelt wird. und 2*...*2 = 2^n ist.

Bis denn dann

Jan

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich hatte ihn so verstanden, dass er glaubte, eine Formel zu benötigen, um ein Programm zu schreiben.

Der Lösungsweg ist ihm in der Aufgabe gegeben und auch so wie beschrieben umsetzbar, in einigen Hochsprachen leichter als in anderen. Etwas entzerrt ist der beschriebene Algorithmus jedoch IMO einfacher umsetzbar. In dieser Richtung wollte ich helfen. Ich möchte keineswegs auf der Verwendung vom Bit-Shift herumreiten. Ich wollte damit lediglich eine Verbindung zur Hardware herstellen.

Du müsstest den shift-Operator schon auf die Zahl "10" anwenden und nicht auf "1010".

Der Bit-Shift Operator ist von der Basis unabhängig und auch auf die Dezimalzahlen 7,8,9 anwendbar. Es gibt zwar noch (unendlich viele) weitere Shift-Operatoren, hier ist immer die Bit-Shift Variante gemeint.

Ich hoffe, der ursprüngliche Author wurde durch die Diskussion nicht zu sehr von der Aufgabe abgelenkt ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...