Español
Fuente/ Codesnippets

Ergänzende XProfan-Gleitkommafunktionen

 

p.specht

Aus otro Programmiersprachen son Características bekannt como z.B.:

x!=Intf(y!) ... Floatingpoint-Ganzzahlteil
x!=Frac(y!) ... Nachkomma-Teil uno Gleitkommazahl
x!=Floor(y!) ... El nächstkleinere Float-Ganzzahl ( -1.2 >>> -2.0 )
x!=Ceil(y!) ... Ceiling=Plafond: El nächstgrößer-oder-gleiche Float-Ganzzahl
m!=Modf(a!,b!) ... Floatingpoint-Modulo = Divisionsrest, Vorzeichen de b!
m!=Remn(a!,b!) ..Floatingpoint-Remnant= Divisionsrest, Vorzeichen de a!
x&=Sgn(x!) ... Signum-Función (-1, 0, 1)
x&=IsNeg(x!) ... liefert Wahrheitswert 1 en x!<0

Referencia: El nachstehenden Procs bauen aufeinander auf; el Exponent de Floatingpoint-Pagar kann eventuell en el Zona -322 a +308 erweitert voluntad.
Windowtitle "Intf(), Frac(), Floor(), Ceil(), Modf(), Remn(), Sgn(), IsNeg()"
' Ergänzung de XProfan en mathematischen Definitionen folgende Gleitkommaoperationen
' "MDFOp b0.1": Early-Beta Versión, (CL) CopyLeft 2013-04 by P.Pájaro carpintero(at)GMX.at, Wien
' Ohne jede Art de Gewähr!: El Nutzung es alleiniges Risiko des/el Anwender/s/en.
randomize:font 2:Conjunto("decimals",18)
cls rnd(8^8):var s$=mkstr$(" ",18)+"!    ":declarar c$

mientras que 1

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

endwhile

proc sgn :parámetros x!

    ' Signum-Función: -1,0,+1
    volver (x!>0)-(x!<0)

ENDPROC

proc floor :parámetros x!

    ' Gaussklammer-Función
    caso abs(x!)<(10^-35):volver 0
    caso x!>0:volver intf(x!)
    volver (abs(x!-intf(x!)) < 10^-35)-intf(abs(x!-1))

ENDPROC

proc ceil :parámetros x!

    ' Ceiling-Función
    volver -1*floor(-1*x!)

ENDPROC

proc modf :parámetros x!,y!

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

ENDPROC

proc remn :parámetros x!,y!

    ' Q: https://de.wikipedia.org/wiki/Modulo , como en ADA
    caso abs(x!)<(10^-35):volver 0
    caso abs(y!)<(10^-35):volver x!
    volver sgn(x!)*abs(x!-y!*floor(x!/y!))

ENDPROC

proc IsNeg :parámetros x!

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

ENDPROC

proc frac :parámetros x!

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

ENDPROC

proc intf :parámetros x!

    var s!=sgn(x!)
    x!=abs(x!)
    x!=x!-frac(x!)
    volver 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


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

507 Views

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

Themeninformationen

Dieses Thema ha 1 subscriber:

p.specht (1x)


Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie