Frage zur Grundlage der Mikroprozessorentechnik

Im Unterforum Microcontroller - Beschreibung: Hardware - Software - Ideen - Projekte

Elektronik Forum Nicht eingeloggt       Einloggen       Registrieren




[Registrieren]      --     [FAQ]      --     [ Einen Link auf Ihrer Homepage zum Forum]      --     [ Themen kostenlos per RSS in ihre Homepage einbauen]      --     [Einloggen]

Suchen


Serverzeit: 05 10 2024  12:24:15      TV   VCR Aufnahme   TFT   CRT-Monitor   Netzteile   LED-FAQ   Osziloskop-Schirmbilder            


Elektronik- und Elektroforum Forum Index   >>   Microcontroller        Microcontroller : Hardware - Software - Ideen - Projekte


Autor
Frage zur Grundlage der Mikroprozessorentechnik

    







BID = 166778

HeikoF

Gelegenheitsposter



Beiträge: 89
Wohnort: Kösching
ICQ Status  
 

  


Hallo leute,
ich habe mal wieder eine Frage.Hat vieleicht jemand ahnung von der "Zweierkomplementarithmetik"? Ich komme hier über haupt nicht klar damit.
Ich habe hier Beispielaufgaben, kann mir jemand anhand diser Aufgaben die sache erklären? Ich währe sehr dankbar.

Zu den Aufgaben:

A : 0110 1001 ; A : 0000 1111 ; A : 0101 1010
+B : 0011 1100 ; -B : 0000 1111 ; -B : 0011 0011




A : 0000 0001
-B : 0000 0010


[ Diese Nachricht wurde geändert von: HeikoF am 25 Feb 2005 11:06 ]

BID = 167324

DrZoidberg

Stammposter

Beiträge: 277

 

  


Das funktoniert im Prinzip ganz genauso wie bei "normalen" Zahlen also wie bei Zahlen im Dezimalsystem.
Nur mit dem Unterschied, dass hier die 1 die höchste Ziffer ist.
Also 1 + 1 kann nicht 2 ergeben, da 1 ja schon die größtmögliche einstellige Zahl ist. Und wenn man zur grössten einstelligen Zahl noch 1 addiert muss natürlich eine zweistellige rauskommen also 1 + 1 = 10.
Vergleich Dezimal Binär:
0 - 0
1 - 1
2 - 10
3 - 11
4 - 100
5 - 101
6 - 110
7 - 111
usw.


A : 0110 1001
+B: 0011 1100

Bei dieser Rechnung kann man genausi vorgehen wie man es in der Grundschule mit Dezimalzahlen gelernt hat.
Man fängt ganz rechts an.
1 + 0 = 1
0 + 0 = 0
0 + 1 = 1
1 + 1 = 0 + ein Übertrag von 1
0 + 1 + übertrag 1 = 0 + Übertrag 1
1 + 1 + 1 = 1 + Übertrag 1
1 + 0 + 1 = 0 + Übertrag 1
0 + 0 + 1 = 1
Das Ergebnis ist also: 10100101

BID = 167335

BlackLight

Inventar

Beiträge: 5308

Da es 2K Zahlen sind, geht die Subtraktion fast genau so einfach wie die Addition.
Würde einfach das Zweier Komplement addieren.



Code :

 A : 0000 1111 

-B : 0000 1111; (-B) = 1111 0000 + 0000 0001 = 1111 0001

0000 1111
+ 1111 0001
------------
(1)0000 0000 = 0D (Werden hier wohl 8Bit 2K Zahlen sein und so fällt der Überlauf weg)

========================================
A : 0000 0001
-B : 0000 0010; (-B) = 1111 1110

0000 0001
+1111 1110
----------
1111 1111 = -1D


(-1D Soll die -1 im Dezimalsystem sein.)


edit:
Könnte sein, dass DrZoidberg "Zweierkomplement" überlesen hat, deshalb hier noch eine Tabelle mit allen 4Bit-2K-Zahlen mit ihrem dezimalen Wert:


Code :

 2K  Dezimal

0111 7
0110 6
0101 5
0100 4
0011 3
0010 2
0001 1
0000 0
1111 -1
1110 -2
1101 -3
1100 -4
1011 -5
1010 -6
1001 -7
1000 -8



[ Diese Nachricht wurde geändert von: BlackLight am 26 Feb 2005 19:52 ]

BID = 167495

HeikoF

Gelegenheitsposter



Beiträge: 89
Wohnort: Kösching
ICQ Status  

Mmhh, schaun wir mal ob ich das richtig verstanden habe!
Also dann zu der Aufgabe:
A:0101 1010
-B:0011 0011 = +B:0100 0100

A:0101 1010
+B:0100 0100
ergibt:
01001 1110, ist das so richtig?

_________________

BID = 168339

perl

Ehrenmitglied



Beiträge: 11110,1
Wohnort: Rheinbach

Tip:
In Windows gibt's unter Zubehör auch einen Rechner, der nicht nur dezimal, sondern auch oktal, hexadezimal und binär beherrscht.
Bei Subtraktionen kann die Wahl der Wortlänge das Ergebnis beeinflussen !






_________________
Haftungsausschluß:



Bei obigem Beitrag handelt es sich um meine private Meinung.



Rechtsansprüche dürfen aus deren Anwendung nicht abgeleitet werden.



Besonders VDE0100; VDE0550/0551; VDE0700; VDE0711; VDE0860 beachten !

BID = 168938

HeikoF

Gelegenheitsposter



Beiträge: 89
Wohnort: Kösching
ICQ Status  

Ok,ich gehe dann mal davon aus das mein Ergebniss falsch war.
Ich hab´s nun mit dem Rechner versucht und komme auf ein Ergebniss von : 100111 = 00100111, so korrekt?
Oder mache ich immer noch einen Fehler?

_________________

BID = 169136

perl

Ehrenmitglied



Beiträge: 11110,1
Wohnort: Rheinbach

5ah - 33h = 27h - kann man im Kopf,
also ist dein Ergebnis richtig.
Du solltest aber bei der Rechnung auch die vorlaufenden Nullen mitführen und nicht erst hinterher dranzaubern, denn 100111 = dezimal 39 könnte bei einem 6 Bit Wort auch -25 dezimal bedeuten.

_________________
Haftungsausschluß:



Bei obigem Beitrag handelt es sich um meine private Meinung.



Rechtsansprüche dürfen aus deren Anwendung nicht abgeleitet werden.



Besonders VDE0100; VDE0550/0551; VDE0700; VDE0711; VDE0860 beachten !


Zurück zur Seite 0 im Unterforum          Vorheriges Thema Nächstes Thema 


Zum Ersatzteileshop


Bezeichnungen von Produkten, Abbildungen und Logos , die in diesem Forum oder im Shop verwendet werden, sind Eigentum des entsprechenden Herstellers oder Besitzers. Diese dienen lediglich zur Identifikation!
Impressum       Datenschutz       Copyright © Baldur Brock Fernsehtechnik und Versand Ersatzteile in Heilbronn Deutschland       

gerechnet auf die letzten 30 Tage haben wir 20 Beiträge im Durchschnitt pro Tag       heute wurden bisher 10 Beiträge verfasst
© x sparkkelsputz        Besucher : 182128231   Heute : 2035    Gestern : 5499    Online : 545        5.10.2024    12:24
5 Besucher in den letzten 60 Sekunden        alle 12.00 Sekunden ein neuer Besucher ---- logout ----viewtopic ---- logout ----
xcvb ycvb
0.0300068855286