Subtraktion von binärzahlen < Sonstiges < Hochschule < Informatik < Vorhilfe
|
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
hallo,
ich habe ein algorithmus, mit der man angeblich eine subtraktion von binärzahlen durchführen kann..
ALGORITHMUS:
1. bilde zuerst das zweierkomplement der negativen zahl
2. addiere nun die positive binärzahl mit dem zweierkomplement der negativen zahl und erhalte das ergbenis.
ist der algo. überhapt richtig?
als beispiel habe ich mir genommen:
Dezimalsystem: 10-11
10 in binär 01010
-11 in binär 11011
nach dem algo muss ich also das zweierkomplement der -11 bilden:
zuerst nehme ich den betrag von -11: 01011
dann invertiere ich den betrag: 10100
und addiere es mit der 1: 10101
10101 ist also das zweierkomplement von -11...
nach dem algo kann ich dann einfach die 01010 und das zweierkomplement von -11 also 10101 addieren...
doch dann erhalte ich das ergebnis 11111... also -15...
meine frage: ist der algorithmus überhaupt zielführend? wenn ja was habe ich falsch gemacht? wenn nicht wie berechne ich 10-11?
danke im voraus
mfg
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 17:02 Mi 07.03.2012 | Autor: | leduart |
Hallo
bei 8 bit ist 11111=-1
sieh nochmal zweierkomplement in wiki nach!
Negative Zahlen werden wie folgt aus einer positiven Zahl kodiert: Sämtliche binären Stellen werden negiert und zu dem Ergebnis der Wert 1 addiert.
richtig ist also [mm] 11_{10}=01011_2 [/mm]
2erKomplement 10101+01010=11111 =-00001
Gruss leduart
|
|
|
|
|
hallo,
ist das ergebnis dann immer ein zweierkomplement, welches nochmal invertiert wird und man -1 abzieht?
danke im voraus
mfg
|
|
|
|
|
> hallo,
> ist das ergebnis dann immer ein zweierkomplement, welches
> nochmal invertiert wird und man -1 abzieht?
>
> danke im voraus
> mfg
Nein, nicht immer wenn die erste (bzw. letzte, allgemein mit der Größter Wertigkeit wo auch der Übertrag geht) Stelle 0 ist dann ist es eine Posivite Zahl und du kannst, dass Ergebniss gleich ablesen. Nur bei negativen Ergebnisen muss man Komplementbildung wiederholen. Das gilt aber nur für dieses Verfahren und nur bei Ganzen Zahlen (Komma Zahlen werden anders gebildet).
|
|
|
|