Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Theoretische Informatik » einerkomplement vornullen » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen einerkomplement vornullen
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Sopmuc
Grünschnabel


Dabei seit: 12.07.2017
Beiträge: 2

einerkomplement vornullen Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Meine Frage:
Hallo,
ich habe die Vorlesung Rechnerarchitektur. Und ich habe noch einige Probleme mit Binärzahlen..


Meine Ideen:
Bei der Einerkomplementdarstellung:
die Zahl 5 ist Binär ja 101 kann man dann einfach die 0 vorne daran hängen? (Für positiv) das braucht man ja zum invertieren damit ergibt sich 1010? ich frage mich nur, ob so viel Platz noch da ist zum Speichern?
eig steht in meinem Skript, dass die Additon der Einerkomplementdarstellung vorzeichenlos erfolgt.
13.07.2017 11:39 Sopmuc ist offline Beiträge von Sopmuc suchen Nehmen Sie Sopmuc in Ihre Freundesliste auf
as_string as_string ist männlich
Haudegen


Dabei seit: 06.11.2013
Beiträge: 639
Herkunft: Heidelberg

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Das kommt auf Deine Wortbreite an: Du könntest z. B. immer 8 Bit betrachten, oder aber ganze Register mit Registerbreite von 32 Bit oder auch 64 Bit.
Dabei hast Du immer eben diese feste Anzahl an Bit, die alle 0 oder 1 sein können. Wenn Du damit eine positive Zahl darstellst, dann werden natürlich die führenden Bit entsprechend bis mit Nullen aufgefüllt, bis das gesamte Wort komplett gefüllt ist.
Damit kannst Du dann auch immer das höchste Bit innerhalb eines solchen Worts als Vorzeichen-Bit verstehen. Solange das 0 ist, ist es eine positive Zahl, wenn es 1 ist, eine negative.

Ich kann Dir allerdings nicht sagen, von welcher Wortbreite Ihr ausgehen sollte. Üblich sind 4Bit für solche Übungen, oft aber auch 8Bit (also ein Byte) oder eben Registerbreiten von 16, 32 oder 64 Bit. Man kann aber auch bei SSE bzw AVX inzwischen bis zu 512 Bit breite Register haben und ich denke, es gibt wahrscheinlich Maschinenbefehle, die auf diesen Registern direkt das 1-Komplement bilden können.
Das ist übrigens auch ein Problem, wenn man die Größe erweitert werden muss. Z. B. kann ich in C ja eine Zahl einer char-Variablen zuweisen. Danach kann ich die Variable einer anderen zuweisen, die als int deklariert ist. Beides sind standardmäßig vorzeichenbehaftete Datentypen und int hat deutlich mehr Bit, als char. Der Compiler muss in einem solchen Fall dafür sorgen, dass die bei der Umwandlung hinzukommenden Bit entweder mit 0 aufgefüllt werden, wenn das bisher führende eine 0 war, aber mit 1, wenn das bisher führende auch eine 1 war (negative Zahl).
Wenn die Variablen aber vorzeichenlos definiert waren, muss immer nur mit Nullen aufgefüllt werden.

Man verwendet für Zahlendarstellung allerdings normalerweise eher das 2-Komplement. Das ändert aber an dem hier beschriebenen nichts.

Gruß
Marco
13.07.2017 12:03 as_string ist offline E-Mail an as_string senden Beiträge von as_string suchen Nehmen Sie as_string in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Theoretische Informatik » einerkomplement vornullen