Was ist in C++ die allgemeine Möglichkeit, einen Gleitkommawert (Gleitkommazahl) in fixed point (int, 16:16 oder 24: 8) zu konvertieren?Konvertieren von Fließkomma in Fixpunkt
EDIT: Zur Klarstellung, Festpunkt Werte haben zwei Teile zu ihnen: ein ganzzahliger Teil und ein Bruchteil. Der ganzzahlige Teil kann durch einen ganzzahligen Datentyp mit Vorzeichen oder ohne Vorzeichen dargestellt werden. Der Bruchteil wird durch einen vorzeichenlosen Ganzzahldatentyp dargestellt.
Lassen Sie uns aus Gründen der Klarheit eine Analogie mit Geld machen. Der Bruchteil kann Cents darstellen - ein Bruchteil eines Dollars. Der Bereich des Datentyps "Cents" würde 0 bis 99 betragen. Wenn eine 8-Bit-Ganzzahl ohne Vorzeichen für die Festkomma-Mathematik verwendet würde, würde der Bruchteil in 256 gleichmäßig teilbare Teile aufgeteilt.
Ich hoffe, dass die Dinge klären.
Wenn Sie in Visual C++ sind, experimentieren Sie mit dem '/ fp: fast'-Schalter, bevor Sie überhaupt daran denken, Ihren gesamten Fließkommawert auf einen festen Punkt zu bringen. Dieser Gleitkomma-Modellschalter ermöglicht Optimierungen, die es einem Gleitkomma ermöglichen, einen festen Punkt in der Geschwindigkeit leicht zu übertreffen. Definitiv ein unterschätztes Merkmal. –