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
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
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
ich bin mir nicht ganz sicher, ob deine Antwort stimmt...
https://de.wikipedia.org/wiki/Festkommazahl
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.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
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)
Hallo Alex,
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)
Geändert von Peter(TOO) (13.12.2015 um 20:26 Uhr)
Manchmal frage ich mich, wieso meine Generation Geräte ohne Simulation entwickeln konnte?
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...
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
Lesezeichen