Arrotondamento numero al multiplo di 10 più vicino

Home Forum FORUM ELETTRONICA MICROCONTROLLORI E CODICI Arrotondamento numero al multiplo di 10 più vicino

  • Questo topic ha 1 risposta, 2 partecipanti ed è stato aggiornato l'ultima volta 2 anni, 2 mesi fa da ne555. This post has been viewed 1229 times
Stai visualizzando 2 post - dal 1 a 2 (di 2 totali)
  • Autore
    Post
  • #4981
    Luigi Fassio
    Partecipante

    Ciao,
    Come da titolo ho bisogno di arrotondare un numero all’intero multiplo di 10 più vicino, ovvero se la temperatura è 233 gradi questo deve essere arrotondato a a 230 mentre se è 257 deve essere arrotondato a 260. Come potrei fare con mikroc?

    #4994
    ne555
    Amministratore del forum

    Ciao, potresti usare la seguente sottofunzione:

    unsigned int arrotonda (unsigned int numero){ //numero = valore da arrotondare
    short resto = 0; //inizializza resto a 0
    resto = numero % 10; //trova il resto della divisione per 10

    if (resto > 5) numero += (10 – resto); //se resto > 5 approssima per eccesso
    else numero =- resto; //altrimenti approssima per difetto

    return numero; //ritorna il valore arrotondato
    }

    il problema però è che il valore 125 in questo caso viene portato a 120, se ti serve che i valori xx5 vengano arrotondati per eccesso devi solo mettere >= nell’IF

Stai visualizzando 2 post - dal 1 a 2 (di 2 totali)
  • Devi essere connesso per rispondere a questo topic.