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.

Komplement dreistellig ausgeben

Empfohlene Antworten

Veröffentlicht

Hi,

ich habe ein Programm geschrieben:

#include <iostream.h>

#include <iomanip.h>

int main()

{

unsigned zahl1, zahl2;

cout<<"Wert 1: > ";

cin>>zahl1;

cout<<"Wert 2: > ";

cin>>zahl2;

cout<<setw(15)<<left<<"Hexwert 1: "<<setw(3)<<setfill('0')<<right<<hex<<zahl1<<endl;

cout<<setfill(' ')<<setw(15)<<left<<"Hexwert 2: "<<setw(3)<<setfill('0')<<right<<hex<<zahl2<<endl;

cout<<setfill(' ')<<setw(15)<<left<<"Komplement 1: "<<setw(3)<<right<<~zahl1<<endl;

cout<<setw(15)<<left<<"Komplement 2: "<<setw(3)<<right<<~zahl2<<endl;

cout<<setw(15)<<left<<"AND"<<setw(3)<<right<<setfill('0')<<(zahl1&zahl2)<<endl;

cout<<setw(15)<<setfill(' ')<<left<<"OR"<<setw(3)<<setfill('0')<<right<<(zahl1|zahl2)<<endl;

cout<<setw(15)<<setfill(' ')<<left<<"XOR"<<setw(3)<<setfill('0')<<right<<(zahl1^zahl2)<<endl;

system("pause");

return 0;

}

Es ließt zwei Zahlen ein und gibt sie als hex, AND, OR, XOR und Komplement aus.

Alles soll allerdings dreistellig ausgegeben werden.

Wieso wird das Komplement nicht dreistellig ausgegeben?

Wie kann man das Komplement dreistellig ausgeben?

Wieso wird das Komplement nicht dreistellig ausgegeben?
Weil unsigned (laut Standard ist es übrigens nicht erlaubt, "int" wegzulassen) bei dir nicht nur 12 Bit hat, das sind dann nun mal mehr als 3 Hex-Ziffern.

Wie kann man das Komplement dreistellig ausgeben?
In einen String umwandeln und nur die letzten drei Ziffern ausgeben. Oder die oberen 20 Bits rausmaskieren.

Nur nebenbei: Die Headerdateien iostream.h und iomanip.h sind veraltet. Die Dateien haben keine .h-Endung mehr. Alle Funktionen und Klassen liegen im Namespace std.

Thx,

bin leider noch blutiger Anfänger ;-)

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.