Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Zahlen Binär darstellen

Empfohlene Antworten

Wenn du also wirklich noch keine Schleife benutzen sollst, dann ist der andere Ansatz vermutlich besser:

Wenn X größer oder gleich 128 ist, gib 1 aus und vermindere X um 128, ansonsten gib 0 aus.

Wenn X größer oder gleich 64 ist, gib 1 aus und vermindere X um 64, ansonsten gib 0 aus.

Wenn X größer oder gleich 32 ist, gib 1 aus und vermindere X um 32, ansonsten gib 0 aus.

Wenn X größer oder gleich 16 ist, gib 1 aus und vermindere X um 16, ansonsten gib 0 aus.

Wenn X größer oder gleich 8 ist, gib 1 aus und vermindere X um 8, ansonsten gib 0 aus.

Wenn X größer oder gleich 4 ist, gib 1 aus und vermindere X um 4, ansonsten gib 0 aus.

Wenn X größer oder gleich 2 ist, gib 1 aus und vermindere X um 2, ansonsten gib 0 aus.

Wenn X größer oder gleich 1 ist, gib 1 aus und vermindere X um 1, ansonsten gib 0 aus.

Noch ein kleiner Hinweis:

Intern werden alle Zahlen binär dargestellt. Es ist möglich, die Zahl als binäre Zeichenfolge, unter Verwendung von zwei auf binären Zahlen arbeitenden Operatoren, auszugeben.

Die Umsetzung ist sehr kurz. Versuche es einfach mal.

  • Autor

hab es jetzt folgendermassen durchdacht.

wenn es heißt mann soll es mit bitoperationen machen.

dann erstelle ich 2 verschiedene variablen mit jeweils demselben wert

und lasse diese über die Bitoperation UND vergleichen

und diese operation gibt dann jeweils 1er aus an denen die beiden zahlen übereinstimmen. da es gleiche zahlen sind , müsste ich genau mein ergebniss erhalten.

stimmt ihr mit mir über ein ? ;)

dann erstelle ich 2 verschiedene variablen mit jeweils demselben wert

und lasse diese über die Bitoperation UND vergleichen

Das kannst du dir sparen. Da kommt doch wieder derselbe Wert raus.

Die Aufgabenstellung ist ziemlich schwammig, vermutlich, weil nicht ganz klar ist, was du benutzen sollst, und was nicht.

Ich vermute, dass mit Bitoperationen gemeint ist, dass du die einzelnen Bits ausmaskieren sollst:

if( c & 128 )
cout << '1';
else
cout << '0';[/code] usw. Du kannst die Zweierpotenzen auch durch Schiebeoperationen ermitteln, wenn du willst:
[code]if( c & ( 1 << 7 ) )

stimmt ihr mit mir über ein ? ;)

Nein, so war es nicht gemeint. Ich poste mal etwas C++ Quelltext, der Dir die Bits einer Zahl vom Typ char ausgibt. Versuche aber bitte zu verstehen, warum es funktioniert, z.B. indem Du die einzelnen Zwischenschritte auf einem Blatt Papier in binärer Schreibweise durchgehst. Wenn es Fragen gibt, dann frage ruhig.


char zahl = 123;

for(int i=7;i>=0;i--) std::cout << ((zahl >> i) & 1);

Die Schleife läuft rückwärts, damit die Ausgabe mit den "höherwertigen" Bits beginnt, bis sie mit dem geringwertigsten Bit endet. Dieses entspricht der gängigen Schreibweise von Binärzahlen.

Der Bit-Shift-Operator ">>" schiebt die Bits in der Variablen "zahl" um i-Stellen nach rechts, so dass das als nächstes auszugebende Bit ganz rechts steht. Der binäre Und-Operator "&" setzt durch eine Verknüpfung mit 1 alle Bits außer dem ganz rechten Bit auf 0, damit nur dieses eine Bit bei der Ausgabe der jeweils nächsten Stelle (der Zahl in binärer Darstellung) in der Schleife berücksichtigt wird. Dadurch ist auch sichergestellt, dass pro Stelle nur 0 oder 1 ausgegeben wird.

Falls das Beispiel Dinge benutzt, die Du noch nicht kennst, z.B. die Operatoren ">>" und "&": Grundsätzlich kann man auch mit Divisionen und Divisionsresten arbeiten. Die obige Vorgehensweise nutzt hingegen aus, dass die Zahlen im Computer bereits binär vorliegen und man nur die einzelnen Stellen für die Ausgabe extrahieren muss.

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.