Vai al contenuto
PLC Forum


Approssimazione per eccesso


Messaggi consigliati

chinellatomarco
Inserito:

Ciao ragazzi qualcuno di voi sa se è possibile fare un'approssimazione per eccesso con cp1l-em? Devo eseguire una divisione e se il risultato del Resto è maggiore o uguale a 5 devo approssimare a "+1" il Quoziente. Purtroppo usando "/" o "/L" il risultato è il semplice valore del quoziente che non considera il resto e l'approssimazione.

Grazie a tutti


Inserita:

Non è vero. La / (come la /L per le doppie word) ti dà il risultato ma anche il resto.

Mette il risultato nella word destinazione, e il resto in quella successiva (occhio quindi che occupa due word in uscita!).

Quindi basta guardare la word+1 e se è diversa da 0, è il resto e se maggiore o uguale a 5, sommi 1 alla prima word.

chinellatomarco
Inserita:

Ciao Andrea,

avevo guardato anch'io nell wod+1 perchè come scritto nella guida istruzione è il resto ma sinceramente mi trovo dei valori strani che non riesco a interpretare. Comunque ho risolto facendo un giro un pò più largo tramite FIX E FLTL e sommando 0,5 al risultato...Non riuscivo proprio a capire come interpretare la word del resto, non mi dava dei valori corretti.

Inserita:

Questo non mi torna. Deve dare risultati corretti.

Ho provato in simulazione, divido 5 per 3, ottengo 1 e resto 2, come giusto che sia.

Non è che per caso hai la visualizzazione in BCD o esadecimale?

chinellatomarco
Inserita:

che strano...no ho messo la visualizzazione in UINT O UDINT, scusa magari mi sto perdendo nel nulla ma 5/3 fa 1.6666.... Perché é giusto che il resto ti dia 2?

Inserita:

Perché il 3 nel 5 ci sta una volta e resta fuori 2. E' matematica dei numeri interi.

Quella che fai tu è invece di quelli irrazionali, o in virgola mobile. Ti da 1 (parte intera) e 0.6666 (parte decimale), ma non è la stessa cosa...

Per quel che vuoi far te, è più utile usare la virgola mobile, in modo che arrotonda da solo.

chinellatomarco
Inserita:

ok tutto chiaro, ma per arrotondare c'è qualche istruzione particolare o meglio sommare +0.5 e poi arrotondo?

Inserita:

No. La FIX è praticamente un troncamento, per cui l'unica è sommare 0,5.

Nel Sysmac Studio - NJ, invece, arrotonda regolarmente.

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...