PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Festkommazahl?



2.0.0.4
13.12.2015, 16:46
Hallo zusammen,
bei einer 8 Bit Speicherelement welchen wert kann ich Maximum abspeichern bei einen 4 Bit Vor- 4 Bit Nachkommastellen?

+7.9375 bis -7.9375 an das einer bestätigen ?


mfg
Alex

Tomy83
13.12.2015, 18:40
Hallo,

8bit haben 256 mögliche Werte.
0-255 oder -127 bis +128.

Und das nur als Ganzzahl, sprich ohne Komma.
Falls du Fließkommazahen benötigst, dann must du das Format "float" nutzen. Das benötigt aber schon mindestens 4 Byte.

mfg Thomas

HaWe
13.12.2015, 19:10
ich bin mir nicht ganz sicher, ob deine Antwort stimmt... ;)
https://de.wikipedia.org/wiki/Festkommazahl


Wie man sieht, können also mit acht Bits und vier Vor- und Nachkommastellen nur Festkommazahlen zwischen 0_R und 15,9375_R (bei einer Auflösung von 0,0625_R) dargestellt werden

wie man jetzt die Vorzeichen reinbringt und ob man das einfach halbieren darf für die negativen Zahlen - da bin ich mir selber nicht sicher, wegen der Definitionsbereiche inkl. Vorzeichenbit.


vom "Gefühl" her würde ich sagen:
nein, wegen der Null und des Bit-Überlaufs, wie bei Ganzzahl-Bytes:
-128...0...+127, also ebenfalls asymmetrisch (die Null wird den positiven Zahlen zugeschlagen).

Aber wie gesagt, ich bin mir da bei Festkomma-Bytes noch nicht ganz klar drüber.

vielleicht also -8,0....0...+7,9375 (ohne Gewähr)

Peter(TOO)
13.12.2015, 20:20
Hallo Alex,

bei einer 8 Bit Speicherelement welchen wert kann ich Maximum abspeichern bei einen 4 Bit Vor- 4 Bit Nachkommastellen?

+7.9375 bis -7.9375 an das einer bestätigen ?

Das geht nicht, du brauchst auch noch die 0!

Da müssen wir uns erst einmal über das Format der 4 Bit VOR dem Komma einig werden.
Diese kann mit oder ohne Vorzeichen gewählt werden, entsprechend kannst du Festkommazahlen zwischen -8...+7 oder 0..15 darstellen. Zumindest bei einer Darstellung im 2er-Komplement.

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

Die 4 Nachkomma-Bits haben dann die Gewichtung 1/2, 1/4, 1/8 und 1/16 entsprechend 0.5, 0.25, 0.125 und 0.0625.
Entsprechend kommst du dann auf -8.9375...+7.9375.

MfG Peter(TOO)

HaWe
13.12.2015, 21:46
edit: stimmt doch nicht!
die Nachkommastellen werden der Integer-Zahl positiv zugerechnet,
ansonsten könnten die Zahlen zwischen 0 und -1 nicht dargestellt werden:

d.h. zur 0 hinzuaddiert=> bis +0,9375
der +1 zuaddiert => bis +1.9375
...
der +7 zuaddiert => bis +7.9375
der -1 zuaddiert => bis -0,0625...
...
der -8 zuaddiert => bis -7,0625

d.h. wie oben spontan vermutet ist die maximal negativste Zahl also -8,000


wenn ich mich nicht irre... ;)

Michael
09.02.2016, 17:09
Hallo zusammen,
bei einer 8 Bit Speicherelement welchen wert kann ich Maximum abspeichern bei einen 4 Bit Vor- 4 Bit Nachkommastellen?

+7.9375 bis -7.9375 an das einer bestätigen ?


mfg
Alex

der darstellbare Bereich in 8 Bit mit Vorzeichen ohne Komma geht von +127 bis -128
https://de.wikipedia.org/wiki/Integer_%28Datentyp%29

4 Bit vor und 4 Bit nach dem Komma können dann einfach als Division mit 16 dargestellt werden.

Der Bereich geht also von -8,0000 bis 7,9375

Gruß, Michael