Ich erstelle eine digitale C++ - Signalanwendung, die die Genauigkeit oder Größe der Operanden zur Laufzeit benötigt.Definieren der Genauigkeit/Größe eines Double oder Float zur Laufzeit
Ich bin mir bewusst, dass in der Regel, double
und float
Typen eine minimale Länge von IEEE 754-Standard garantiert werden, aber wie bei int
Typen, das sind nur Mindestlängen.
Welche Optionen sind verfügbar, um Fließkommatypen mit anpassbarer Länge zu definieren, die zur Laufzeit definiert werden? Im Idealfall wäre eine vorhandene Bibliothek oder ein Typ, meine andere grobe Idee wäre jedoch, eine Bitmaske zu verwenden, um nach jeder Operation die letzten n Bits einer Zahl zu entfernen.
Ich vermute, dass Sie etwas falsch verstanden haben. Es gibt keine allgemeine Möglichkeit, die Größe von Gleitkommaoperanden zur Laufzeit festzulegen. Das Maskieren von zusätzlichen Bits, wie Sie es vorgeschlagen haben, wird die Dinge schrecklich langsam machen, was in der digitalen Signalverarbeitung ein Gräuel ist. –
Verwenden Sie 'int' mit Zähler und Denumerator? – Jarod42
IEEE 754 definiert mehrere * genaue * Größen. Sie suchen nach einer externen Bibliothek, die nicht zum Thema gehört. – EJP