|
|
|
|
|
|
Mitglied
Registrierungsdatum: Feb 2008
Beiträge: 198
|
Dualzahlen
Hallo,
habe da mal eine Frage mit den Dualzahlen, dürfte doch hierrein passen.
Da wird gerade das Thema in Technik haben und es vorhin auch mal in Physik angesprochen wurde, hat es mein Interesse geweckt. Ist irgendwie verblüffend, dass ein Computer mit solchen Zahlen arbeitet. Habe halt mal gelernt gehabt, dass 1+1=10 ist nun erzählte mir mein Physiklehrer, dass der Computer nur addieren kann, aber nicht subtrahieren und dividieren... Er sagte, es sei etwas kompliziert so etwas zu erklären (bei unserer Klasse sowieso schlimm, ziemlich unkonzentriert). Da wollte ich mal wissen, wie der Computer das dann macht. Wie subtrahiert, multipliziert und dividiert er, wenn er nur addieren kann?
|
06. 03. 2008, 15:45
|
#1
|
|
Mitglied
Registrierungsdatum: Sep 2007
Beiträge: 3
|
Re: Dualzahlen
vielleicht hilft dir das weiter, ist ne kleine zusammenfassung übers dualzahlen rechnen.
http://home.arcor.de/caben/dual1.jpg
http://home.arcor.de/caben/dual2.jpg
|
06. 03. 2008, 16:27
|
#2
|
|
Mitglied
Registrierungsdatum: Jan 2008
Beiträge: 55
|
Re: Dualzahlen
Subtrahieren: Er bildet das zweierkomplement mit der zu subtrahierenden ( die zu addierende zahl invertieren also aus aalen 1 ne 0 machen und aus allen 0 eine 1 machen, und dann eine 1 dazuählen zur ganzen zahl) und zählt diese zum ersten Summanden.
Multiplizieren: Er addiert die zahl mit sich selbst so oft wie der Multiplikator gross ist. ( Nur eine Variante.... kenne die andern noch nicht)
Dividieren: Er subtrahiert die zahl von sich selbst so oft wie der Dividend gross ist.
Eigentlich ist ein Processor sau blöd... Doch der gröste Vorteil gegenüber uns ist seine Geschwindigkeit. Da topt er alles!
|
06. 03. 2008, 16:41
|
#3
|
|
Mitglied
Registrierungsdatum: Jan 2008
Beiträge: 55
|
Re: Dualzahlen
Sorry für Doppel post: bin auf faschen butten gekommen zum editieren
Subtrahieren: Er bildet das zweierkomplement mit der zu subtrahierenden ( die zu addierende zahl invertieren also aus aalen 1 ne 0 machen und aus allen 0 eine 1 machen, und dann eine 1 dazuählen zur ganzen zahl) und zählt diese zum ersten Summanden.
Multiplizieren: Er addiert die zahl mit sich selbst so oft wie der Multiplikator gross ist. ( Nur eine Variante.... kenne die andern noch nicht)
Dividieren: Er subtrahiert die zahl von sich selbst so oft wie der Dividend gross ist.
Potenzieren: Das selbe in Grün: Er multipliziert die Zahl mit sich selbst so oft wie die Potenz gross ist.
Kurz: Man hat nur für das Subtrahieren eine Lösung entwickelt. Den rest bricht man auf die tiefsten mathmatischen ebenen (+ und -) hinunter..... Da stellt sich die Frage: Ist er den nicht zu langsam? Geht das nicht schneller? Antwort: selbst bei dem aufwändigen Fakultät oder Integral ist er immer noch schneller als wir, obwohl man bei drartigen Rechnungen eine Verzögerung eventuel Bemerken. ( Also taschenrechner ganz sicher).
Eigentlich ist ein Processor sau blöd... nur schritt für schritt und dann erst nur logische opperationen ( aus welcher man die Adition herstellt) Doch der gröste Vorteil gegenüber uns ist seine Geschwindigkeit. Da topt er alles!
|
06. 03. 2008, 16:47
|
#4
|
|
Mitglied
(Threadstarter)
Registrierungsdatum: Feb 2008
Beiträge: 198
|
Re: Dualzahlen
Danke für die Antworten, sollte ich ein wenig verstanden haben. Aber wenn es doch eigentlich komplizierter ist, warum macht man es dann nicht einfach, wie es normalerweise ist? Gibt es dafür einen Grund, warum 7=01111 und nicht einfach 7=7 ist?
Hab dann noch was gefunden, ist allerdings nur Addition und Subtraktion aber auch noch mal mit negativen Zahlen: http://www.db-thueringen.de/servlets...30/Rechnen.pdf
|
06. 03. 2008, 18:40
|
#5
|
|
Mitglied
Registrierungsdatum: Nov 2007
Beiträge: 677
|
Re: Dualzahlen
Zitat:
|
Zitat von Metal_Rex
Gibt es dafür einen Grund, warum 7=01111 und nicht einfach 7=7 ist?
|
7 ist nur 111. In der Analogelektronik kann man wirklich 7 z.B. durch 7 V darstellen, nur ist analoge Elektronik viel komplizierter in vielen Sachen als die digitale 0 V / "5 V".
Deshalb hat sich fast überall 0&1 durchgesetzt. (Mal von Flash-Speicher, Ethernet usw. abgesehen.)
|
06. 03. 2008, 18:59
|
#6
|
|
one name - one legend
Registrierungsdatum: Jun 2000
Beiträge: 5.472
|
Re: Dualzahlen
Jo, eine CPU kann letztlich nur binär addieren.
Alles andere ist Programmcode und wird mit Floating Point Operations erledigt.
Das sind spezielle Routinen, die Addieren, Subtrahieren, Multiplizieren, Dividieren, Potenzieren
können - und zwar für beliebige Zahlen (floating point = Fliesskommazahlen).
Moderne CPU haben dazu schon minimale Elemente in den Nmemonics (Assembler),
aber das reicht natürlich nicht.
|
06. 03. 2008, 19:45
|
#7
|
|
one name - one legend
Registrierungsdatum: Jun 2000
Beiträge: 5.472
|
Re: Dualzahlen
7 ist u.U. 0111, weil die erste 0 das Vorzeichen stellt - also wäre 111 dann -1.
http://de.wikipedia.org/wiki/Zweierkomplement
1 = 001 -> 110+1 -> 111 = -1
#Anmerkung CPU nur addieren: um B von A zu subtrahieren, bildet die CPU das
2er-Komplement von B und addiert es zu A.
Beim 2er-Komplement werden 0 und 1 getauscht und auch nur wieder addiert (eine 1 dazu).
Man sollte dann auch das Low byte und High byte erwähnen, also den rechten (low)
und linken (high) Teil eines Bytes bzw Bytepaares. Bei 8 wäre das 4+4, bei 16 8+8.
Es gibt verschiedene Nmemonics dafür, die das speziell verarbeiten können.
Zitat:
|
Zitat von BlackLight4
7 ist nur 111. In der Analogelektronik kann man wirklich 7 z.B. durch 7 V darstellen, nur ist analoge Elektronik viel komplizierter in vielen Sachen als die digitale 0 V / "5 V".
Deshalb hat sich fast überall 0&1 durchgesetzt. (Mal von Flash-Speicher, Ethernet usw. abgesehen.)
|
|
06. 03. 2008, 19:50
|
#8
|
|
seit Hartz IV Moderator
Registrierungsdatum: Aug 2001
Ort: zu Hause, in 123XX
Beiträge: 11.129
|
Re: Dualzahlen
3 Zustände kennt z.B. eine Fernbedienung von Renault 
Die Pins vom IC sind entweder an + oder - oder aber offen.
Gruss
Tim
|
07. 03. 2008, 00:42
|
#9
|
|
one name - one legend
Registrierungsdatum: Jun 2000
Beiträge: 5.472
|
Re: Dualzahlen
Eigentlich kennt Renault nur zwei Zustände, dafür aber gleichzeitig: neu und shice
|
07. 03. 2008, 03:22
|
#10
|
|
Mitglied
Registrierungsdatum: Aug 2005
Beiträge: 763
|
Re: Dualzahlen
Zitat:
|
Zitat von Grotze
***
Multiplizieren: Er addiert die zahl mit sich selbst so oft wie der Multiplikator gross ist. ( Nur eine Variante.... kenne die andern noch nicht)
Dividieren: Er subtrahiert die zahl von sich selbst so oft wie der Dividend gross ist.
***
|
Multiplikation und Division geht mittels Schiebebefehlen RR bzw. RL
auf einer CPU, die keine Multiplikation/Division beherrscht: kleine Routine für Z80:
Multiplikation/Division
man kann auch vorher eine Tabelle erstellen, dann geht die Multiplikation/Division um einiges schneller...
|
07. 03. 2008, 15:06
|
#11
|
|
Alle Zeitangaben in UTC +1. Es ist jetzt 06:07 Uhr.
|
|