Forum: PC-Programmierung Gleit- und Fließkommazahl


von Gleit- und Fließkommazahl (Gast)


Lesenswert?

Liebes Forum,
ich überlege seit mehreren Stunden und finde keine passende Lösung für 
folgende Aufgabe:
Wie viele Bits benötigt ein solches kleines
digitales Thermometer, wenn es in einem
Wertebereich von 0 bis 50 Grad Celsius mit
einer Genauigkeit von 0,1 Grad Celsius
messen soll?

Meiner Überlegung nach währe es am besten die Zahl als Festkommazahl zu 
speichern, also statt 49,9 499 und bei der Ausgabe darauf zu achten. Was 
würdet ihr sagen?

MfG

Jan Eric Wendt

von Rolf M. (rmagnus)


Lesenswert?

Gleit- und Fließkommazahl schrieb:
> Liebes Forum,
> ich überlege seit mehreren Stunden und finde keine passende Lösung für
> folgende Aufgabe:
> Wie viele Bits benötigt ein solches kleines
> digitales Thermometer, wenn es in einem
> Wertebereich von 0 bis 50 Grad Celsius mit
> einer Genauigkeit von 0,1 Grad Celsius
> messen soll?

Du meinst offenbar nicht Genauigkeit, sondern Auflösung.

> Meiner Überlegung nach währe es am besten die Zahl als Festkommazahl zu
> speichern, also statt 49,9 499 und bei der Ausgabe darauf zu achten. Was
> würdet ihr sagen?

Sehe ich auch so. Gleitkomma ist hierfür nicht notwendig.

von Wolfgang (Gast)


Lesenswert?

Gleit- und Fließkommazahl schrieb:
> Meiner Überlegung nach währe es am besten die Zahl als Festkommazahl zu
> speichern, also statt 49,9 499 und bei der Ausgabe darauf zu achten.

Das kommt drauf an, was dir wichtiger ist: Rechenzeit oder Speicherplatz 
sparen. Eine Zahlenangabe für den Zahlenbereich von 0 bis 500 Dezigrad 
kannst du in 9 Bit ablegen. Das passt allerdings schlecht zur üblichen 
8/16-Bit Struktur von Speichern.

von (prx) A. K. (prx)


Lesenswert?

Wieviel verschiedene Werte gibt es und wieviel Bits braucht man dafür?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Gleit- und Fließkommazahl schrieb:
> Genauigkeit von 0,1 Grad

Ersetze das durch Auflösung.

Ansonsten: Ja, natürlich ist es viel einfacher, den Messwert als int 
zu verarbeiten. 9 Bit reichen hier (0-511).

Wenn Du die Auflösung auf 0.2° reduzierst (so genau zu messen ist auch 
schon gar nicht einfach), dann reichen 8 Bit, die zusammen schön 
gemütlich in ein Byte passen.

von Wolfgang (Gast)


Lesenswert?

Rolf Magnus schrieb:
> Sehe ich auch so. Gleitkomma ist hierfür nicht notwendig.

Gleitkommazahlen sind bei hoher Dynamik der Zahlen notwendig und kosten 
(bei gleichem Speicherplatz) nur Auflösung.

von Gleit- und Fließkommazahl (Gast)


Lesenswert?

@prx
Du meinst, weil es 500 verschiedene Werte gibt, braucht man 9 Bit?

von Rolf M. (rmagnus)


Lesenswert?

Gleit- und Fließkommazahl schrieb:
> Du meinst, weil es 500 verschiedene Werte gibt, braucht man 9 Bit?

Richtig. Damit hast du deine Frage, wieviele Bits man braucht, selbst 
beantwortet.

von Gleit- und Fließkommazahl (Gast)


Lesenswert?

Der Begriff Genauigkeit stammt aus einem Aufgabenbogen des 
Bildungsministeriums:) Vielen Dank für eure Auskünfte. Letzendlich kann 
man also sagen dass es weniger Rechenzeit kosten würde wenn das ganze in 
ein Byte passt?
(Wenn ich total offensichtliches Frage liegt das daran das ich kein 
Student sondern nur 10. Klässler bin:D)

von Gleit- und Fließkommazahl (Gast)


Lesenswert?

Wird dadurch die Rechenzeit verkürzt?

von SF6 (Gast)


Lesenswert?

Gleit- und Fließkommazahl schrieb:
> Wird dadurch die Rechenzeit verkürzt?
Schnelleres als Ganzzahloperationen wirst du auf deinem PC nicht finden.

von Gleit- und Fließkommazahl (Gast)


Lesenswert?

Wolfgang schrieb:
> Das kommt drauf an, was dir wichtiger ist: Rechenzeit oder Speicherplatz
> sparen. Eine Zahlenangabe für den Zahlenbereich von 0 bis 500 Dezigrad
> kannst du in 9 Bit ablegen. Das passt allerdings schlecht zur üblichen
> 8/16-Bit Struktur von Speichern.

Was meint Wolfgang damit?

von FelixW (Gast)


Lesenswert?

Gleit- und Fließkommazahl schrieb:
> Meiner Überlegung nach währe es am besten die Zahl als Festkommazahl zu
> speichern, also statt 49,9 499 und bei der Ausgabe darauf zu achten. Was
> würdet ihr sagen?

ja, Festkomma ist richtig.
Festkomma bietet dir viel Auflösung (Anzahl von Stellen)
Fließkomma opfert Auflösung zu zu gunsten von Dynamik (Anzahl der 
möglichen Potenzen)

Nimm 16 Bit-Werte; 1 LSB = 0.1°C/16 => kleinste Schrittweite; Die 
unteren 4 Bit halten deine Rundungsfehler beim umrechnen in Grenzen und 
lassen sich leicht entfernen.

Gleit- und Fließkommazahl schrieb:
> Was meint Wolfgang damit?

Es sind zwischen 0°C und 50°C 501x 0.1°C Schritte.
 T = Variable * 0.1°C
Eine 8 Bit vorzeichenlose Variable hat einen Zahlenbereich von 0..256
Eine 9 Bit vorzeichenlose Variable hat einen Zahlenbereich von 0..512
Eine 16 Bit vorzeichenlose Variable hat einen Zahlenbereich von 
0..(2^16-1)
Prozessoren rechnen mit einem Vielfachen von 8 Bit

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

FelixW schrieb:
> Eine 8 Bit vorzeichenlose Variable hat einen Zahlenbereich von 0..256
> Eine 9 Bit vorzeichenlose Variable hat einen Zahlenbereich von 0..512

Nein.

8 Bit: 0..255
9 Bit: 0..511

von Rolf M. (rmagnus)


Lesenswert?

Gleit- und Fließkommazahl schrieb:
> Der Begriff Genauigkeit stammt aus einem Aufgabenbogen des
> Bildungsministeriums:)

Das ist beunruhigend, denn der ist hier falsch.

> Vielen Dank für eure Auskünfte. Letzendlich kann man also sagen dass es
> weniger Rechenzeit kosten würde wenn das ganze in ein Byte passt?

Das läßt sich pauschal nicht beantworten, sondern hängt von der 
Prozessorarchitektur ab. Wobei ein Thermometer in der Regel um einen 
sehr kleinen Mikrocontroller herum aufgebaut ist. Dort stimmt diese 
Aussage.

SF6 schrieb:
> Gleit- und Fließkommazahl schrieb:
>> Wird dadurch die Rechenzeit verkürzt?
> Schnelleres als Ganzzahloperationen wirst du auf deinem PC nicht finden.

Das stimmt so nicht. Aber es geht ja auch nicht um einen PC.

von Hans (Gast)


Lesenswert?

Gleit- und Fließkommazahl schrieb:
> Vielen Dank für eure Auskünfte. Letzendlich kann
> man also sagen dass es weniger Rechenzeit kosten würde wenn das ganze in
> ein Byte passt?
Ziemlich sicher nicht: Ich glaube kaum, dass es heute PCs gibt bei denen 
eine 32bit Operation langsamer ist als eine mit nur 8 bit.

von Hans (Gast)


Lesenswert?

Rolf Magnus schrieb:
> Aber es geht ja auch nicht um einen PC.
Was hat der Thread dann im Forum PC-Programmierung zu suchen?

von Rolf M. (rmagnus)


Lesenswert?

Hans schrieb:
> Rolf Magnus schrieb:
>> Aber es geht ja auch nicht um einen PC.
> Was hat der Thread dann im Forum PC-Programmierung zu suchen?

Das ist allerdings eine gute Frage, die du aber dem TE stellen mußt und 
nicht mir. Ich vermute aber zumindest mal, dass er mit "ein solches 
kleines digitales Thermometer" keinen PC meinte.

von Wolfgang (Gast)


Lesenswert?

Gleit- und Fließkommazahl schrieb:
> Der Begriff Genauigkeit stammt aus einem Aufgabenbogen des
> Bildungsministeriums:)

Dann scheinen die in der Pisa-Studie zu Tage getretenen Mängel bei der 
MINT-Ausbildung auch das Bildungsministerium zu betreffen - eigentlich 
nicht weiter verwunderlich.

von Johann L. (gjlayde) Benutzerseite


Lesenswert?

Rolf Magnus schrieb:
> Du meinst offenbar nicht Genauigkeit, sondern Auflösung.

Wobei der entsprechende Wiki-Artikel

Auflösung und Genauigkeit: Genauigkeit
1
Genauigkeit gibt an, wie weit das Messergebnis vom physikalisch
2
absolut wahren Ergebnis abweicht [...]

Lassen wir das "absolut wahre" mal beiseite ;-) und legen diese 
Präzisierung des Begriffs "Genauigkeit" zugrunde, dann wird's bereits im 
nächsten Abschnitt "Eichen, Kalibrieren, Justieren" wirr:
1
Die meisten Meßgeräte müssen nach der Herstellung vor der
2
Verwendung noch eingestellt werden, um das Maximum an Genauigkeit
3
zu erreichen

Die Messgeräte müssen also so eingestellt werden, dass die Abweichung 
vom pysikalisch "absolut wahren" Ergebnis maximal wird.

von Rolf M. (rmagnus)


Lesenswert?

Naja, ist halt etwas blöd, daß man bei geringen Abweichungen von einer 
hohen Genauigkeit spricht. Das ist wie bei den Farbtemperaturen bei 
Lichtquellen oder dem Weißabgleich von Bildern, wo warme Farben eine 
niedrigere Temperatur haben als kalte.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.