www.vorhilfe.de
Vorhilfe

Kostenlose Kommunikationsplattform für gegenseitige Hilfestellungen.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Englisch
  Status Grammatik
  Status Lektüre
  Status Korrekturlesen
  Status Übersetzung
  Status Sonstiges (Englisch)

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Technische Informatik" - Fixkommadarstellung addition
Fixkommadarstellung addition < Technische Inform. < Praktische Inform. < Hochschule < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Technische Informatik"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Fixkommadarstellung addition: Korrektur
Status: (Frage) beantwortet Status 
Datum: 16:52 Fr 05.03.2010
Autor: davidoffff

Hallo!

(Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.)

Ich bastle gerade an einem Microcontroller rum stehe ehrlich gesagt etwas auf dem schlauch - weil ich offensichtlich alle regeln der binären addition vergessen habe.

also ich habe folgendes zahlenformat:

(von links nach rechts)
1 bit Vorzeichen
3 bit Dezimalstellen
28 bit Nachkommastellen

10000011001100110011001100110100 => -0.4
10000010011001100110011001101000 => -0.8

da meine werte bei den ganzen berechnungen niemals größer als 5.* werden sollen, habe ich mich für diese 3 bit entschieden - werden zahlen gegebenfalls größer, werden sie in einem früheren schritt, getrimmt.


Also, ich arbeite nun im 2er Komplement ->
ich muss nun also die erste Zahl (-0.4) invertieren und 1 dazuzählen (1'Komplememt)

=>
10000011001100110011001100110100 = -0.4
01111100110011001100110011001100 = 0.4

10000010011001100110011001101000 = -0.8
01111101100110011001100110011000 = 0.8

Nun beide 1er Komplemente addieren
01111100110011001100110011001100
01111101100110011001100110011000
---------------------------------------------------
11111010011001100110011001100100

Negativ ist sie ja, aber 111 (die 3 Dezimalbits) sollten wohl eher 1 darstellen als 7....
was mache ich hier falsch?

ich hoffe ich konnte mein problem gut beschreiben
bitte keine links oder ähnliches, ich quäle mich schon den halben nachmittag durch diverse Internetseiten aber finde den Fehler nicht :)

lg
david

        
Bezug
Fixkommadarstellung addition: Antwort
Status: (Antwort) fertig Status 
Datum: 00:03 Sa 06.03.2010
Autor: steppenhahn

Hallo!

> Hallo!
>  
> (Ich habe diese Frage in keinem Forum auf anderen
> Internetseiten gestellt.)
>  
> Ich bastle gerade an einem Microcontroller rum stehe
> ehrlich gesagt etwas auf dem schlauch - weil ich
> offensichtlich alle regeln der binären addition vergessen
> habe.
>  
> also ich habe folgendes zahlenformat:
>  
> (von links nach rechts)
>  1 bit Vorzeichen
>  3 bit Dezimalstellen
>  28 bit Nachkommastellen
>  
> 10000011001100110011001100110100 => -0.4
>  10000010011001100110011001101000 => -0.8

Sollen das jetzt schon die Zahlen im Zweierkomplement sein?
Oder in deiner eigenen Darstellung?

Im Zweierkomplement würden die angegebenen Bits jedenfalls nicht den angegebenen Dezimalzahlen entsprechen.

Im Übrigen kommst du nicht von den negativen Zahlen in der Darstellung des Zweierkomplements wieder zu ihren positiven Partnern, indem du nochmal das Zweierkomplement berechnest.


0.4 normal dargestellt in deinem Zahlensystem (ein bisschen verkürzt):

0  000  0110011

Zweierkomplement:

1  111  1001100

Plus "1":

1  111  1001101   =    -0.4
============

0.8:

0  000  1100110

Zweierkomplement:

-0.8:

1  111  0011001

Plus "1":

1  111  0011010    =    -0.8
============

Nun Addition der beiden negativen Zahlen:

1  111  1001101
1  111  0011010
---------------------
1  110  1100111


Zugehörige positive Zahl bestimmen:

Minus "1":

1  110  1100110

Zweierkomplement Rückwärts:

0  001  0011001

= [mm] 1*2^{0} [/mm] + [mm] 1*2^{-3}+1*2^{-4} [/mm] + [mm] 1*2^{-7} \approx [/mm] 1.195312500

Grüße,
Stefan

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Technische Informatik"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.englischraum.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]