Zur Umwandlung von integer zu float und Umgekehrt in Ada?

Gibt es irgendeine Funktion implementiert, die es erlauben würde, zu transformieren eine Ganzzahl zu float und Umgekehrt?

Habe ich es geschafft zu schreiben, eine kurze Funktion verwandelt einen integer zu float:

function Transform(First: Integer) return Float is
    A: Integer := First;
    B: Float := 0.0;
begin
    For_Loop:
    for I in Integer range 1 .. A loop
        B := B + 1.0;
    end loop For_Loop;
    return B;
end Transform;

Aber ich weiß nicht, wie man von Float zu Integer.

  • Abgesehen davon, dass Sie schrecklich langsam für große Werte das sein kann schlecht falsch. Integer Bereich und Float Präzision sind durch die Implementierung festgelegt, unterliegen standard-minima, aber für viele Plattformen (wie x86) Integer ist 32 bit und Float ist IEEE single mit 23-plus-verborgene-bit-Mantisse; in diesem Fall ist Ihr Algorithmus 'gesättigte Fettsäuren' alle ganzzahligen Werte über 2**24 bis herab zu 2**24.
InformationsquelleAutor John Mayne | 2016-07-30
Schreibe einen Kommentar