| |
|
|
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 11Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'... | 09.05.2021 ▲ |
|
|
|