Frage

Ich verstehe jeden fraktion , um ein Quotient von ganzen Zahlen zu sein, was nicht ist0 , aber nachdem ich in verschiedenen Programmiersprachen (z. B. JavaScript) in verschiedenen Programmiersprachen (z. B. Javascript) in verschiedenen Programmiersprachen (z. B. Javascript) falsch verstanden

Was ist der Unterschied zwischen einem Bruchteil und einem Float?

War es hilfreich?

Lösung

Computer befassen sich normalerweise mit Fließkommazahlen und nicht mit Fraktionen. Der Hauptunterschied besteht darin, dass Fließkomma-Nummern eine begrenzte Genauigkeit aufweisen, aber viel schneller sind, um Arithmetik mit (und sind die einzige Art von nicht intensiven Nummern, die in Hardware nativ unterstützt werden).

Floating-Point-Zahlen werden in "wissenschaftlicher Notation" mit einer festen Genauigkeit gespeichert Das hängt vom Datentyp ab. In grobem Sprechen werden sie in der Form $ \ alpha \ cdot 2 ^ \ beta $ , wobei $ 1 \ leq \ alpha <2 $ , $ \ beta $ ist eine ganze Zahl, und beide werden in einer festen Anzahl von Bits gespeichert. Dies begrenzt die Genauigkeit der $ \ alpha $ und dem Bereich $ \ beta $ : Wenn $ \ alpha $ wird mit $ A $ Bits gespeichert (als $ 1. x_1 \ ldots x_a $ ), dann drückt es immer eine Fraktion aus, deren Nenner $ 2 ^ A $ ist, und wenn $ \ beta $ wird mit $ B $ Bits gespeichert, dann ist es immer im Bereich $ - 2 ^ {B-1}, \ ldots, 2 ^ {b-1} -1 $ .

Aufgrund der begrenzten Genauigkeit der Fließkommazahlen ist die Arithmetik auf diesen Zahlen nur annähernd, was zu numerischen Ungenauigkeiten führt. Bei der Entwicklung von Algorithmen müssen Sie das im Sinn behalten. Es gibt eigentlich ein gesamtes Gebiet in der Informatik, numerische Analyse , der zu solchen Fragen gewidmet ist.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit cs.stackexchange
scroll top