Français
Source/ Codesnippets

Ergänzende XProfan-Gleitkommafunktionen

 

p.specht

Aus anderen Programmiersprachen sommes Funktionen bekannt comment z.B.:

x!=Intf(y!) ... Floatingpoint-Ganzzahlteil
x!=Frac(y!) ... Nachkomma-partie einer Gleitkommazahl
x!=Floor(y!) ... qui nächstkleinere Float-nombre entier ( -1.2 >>> -2.0 )
x!=Ceil(y!) ... Ceiling=Plafond: qui nächstgrößer-ou bien-gleiche Float-nombre entier
m!=Modf(a!,b!) ... Floatingpoint-Modulo = Divisionsrest, Vorzeichen de b!
m!=Remn(a!,b!) ..Floatingpoint-Remnant= Divisionsrest, Vorzeichen de a!
x&=Sgn(x!) ... Signum-Funktion (-1, 0, 1)
x&=IsNeg(x!) ... liefert Wahrheitswert 1 chez x!<0

Hinweis: qui nachstehenden Procs construire aufeinander auf; qui Exponent de Floatingpoint-payons peux eventuell sur den Bereich -322 jusqu'à +308 erweitert volonté.
Windowtitle "Intf(), Frac(), Floor(), Ceil(), Modf(), Remn(), Sgn(), IsNeg()"
' Ergänzung de XProfan um mathematischen Definitionen folgende Gleitkommaoperationen
' "MDFOp b0.1": Early-Beta Version, (CL) CopyLeft 2013-04 by P.Specht(at)GMX.at, vienne
' sans chacun Art de Gewähr!: qui Nutzung ist alleiniges Risiko des/qui Anwender/s/dans.
randomize:font 2:Set("decimals",18)
cls rnd(8^8):var s$=mkstr$(" ",18)+"!    ":declare c$

tandis que 1

    locate  2,1:imprimer "   Testzahl:"+s$:locate  2,14:input c$:c$=translate$(c$,»,".")
    locate  4,1:imprimer "   Testwert:"+s$:locate  4,14:imprimer format$("%g",val(c$))
    locate  7,1:imprimer "       Intf:"+s$:locate  7,14:imprimer format$("%g",Intf(val(c$)))
    locate  9,1:imprimer "   Fraction:"+s$:locate  9,14:imprimer format$("%g",frac(val(c$)))
    locate 11,1:imprimer "      Floor:"+s$:locate 11,14:imprimer format$("%g",floor(val(c$)))
    locate 13,1:imprimer "    Ceiling:"+s$:locate 13,14:imprimer format$("%g",ceil(val(c$)))
    locate 15,1:imprimer "Modulo -3.0:"+s$:locate 15,14:imprimer format$("%g",modf(val(c$),-3 ))
    locate 17,1:imprimer "Remnant-3.0:"+s$:locate 17,14:imprimer format$("%g",remn(val(c$),-3 ))
    locate 19,1:imprimer "     Signum:"+s$:locate 19,14:imprimer format$("%g",sgn(val(c$)))
    locate 19,1:imprimer "      IsNeg:"+s$:locate 19,14:imprimer format$("%g",IsNeg(val(c$)))

endwhile

proc sgn :parameters x!

    ' Signum-Funktion: -1,0,+1
    return (x!>0)-(x!<0)

endproc

proc floor :parameters x!

    ' Gaussklammer-Funktion
    cas abs(x!)<(10^-35):return 0
    cas x!>0:return intf(x!)
    return (abs(x!-intf(x!)) < 10^-35)-intf(abs(x!-1))

endproc

proc ceil :parameters x!

    ' Ceiling-Funktion
    return -1*floor(-1*x!)

endproc

proc modf :parameters x!,y!

    ' Q: https://de.wikipedia.org/wiki/Modulo
    cas abs(x!)<10^-35:return 0
    cas abs(y!)<10^-35:return x!
    return sgn(y!)*abs(x!-y!*floor(x!/y!))

endproc

proc remn :parameters x!,y!

    ' Q: https://de.wikipedia.org/wiki/Modulo , comment dans ADA
    cas abs(x!)<(10^-35):return 0
    cas abs(y!)<(10^-35):return x!
    return sgn(x!)*abs(x!-y!*floor(x!/y!))

endproc

proc IsNeg :parameters x!

    return byte(Addr(x!),7)&%10000000>>7

endproc

proc frac :parameters x!

    var s!=sgn(x!)
    x!=abs(x!)
    x!=x!-round(x!,0)
    cas x!<0:x!=1+x!
    return s!*x!

endproc

proc intf :parameters x!

    var s!=sgn(x!)
    x!=abs(x!)
    x!=x!-frac(x!)
    return s!*x!

endproc

 
XProfan 11
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
09.05.2021  
 



Zum Quelltext


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

508 Views

Untitledvor 0 min.
RudiB.02.09.2022
Ernst21.07.2021
Uwe ''Pascal'' Niemeier13.06.2021
R.Schneider28.05.2021
plus...

Themeninformationen

cet Thema hat 1 participant:

p.specht (1x)


Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie