Räkna om 0-50000 till 0-255 med avrundning(C)

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Erik_Lind
Inlägg: 97
Blev medlem: 2 maj 2005, 11:25:03

Räkna om 0-50000 till 0-255 med avrundning(C)

Inlägg av Erik_Lind »

Behöver räkna om ett tal mellan 0-50000 till 0-255.

Men jag får problem med att decimalvärden kapas bort utan avrundning.

50.000/256 = ~195.

Vid omräkning blir då
T.ex:
980 / 195 = 5,02 tolkas som 5
1000 / 195 = 5,12 tolkas som 5
1150 / 195 = 5,89 tolkas som 5

Jag skulle vilja ha en avrundning så
T.ex
5,4 = 5
och
5,5 = 6

Finns det något smidigt sätt att lösa detta i ren C?
Använder WinAVR(GCC)

/Erik
Användarvisningsbild
strombom
Inlägg: 3305
Blev medlem: 27 maj 2003, 10:50:20
Ort: Västra Götaland
Kontakt:

Inlägg av strombom »

om du skriver:

(980 + 195/2) / 195
(1000 + 195/2) / 195
(1150 + 195/2) / 195
Användarvisningsbild
AndLi
Inlägg: 18274
Blev medlem: 11 februari 2004, 18:17:59
Ort: Knivsta
Kontakt:

Inlägg av AndLi »

plus på med ett innan du delar så blir avrundningen rätt.
Användarvisningsbild
cykze
EF Sponsor
Inlägg: 1539
Blev medlem: 8 april 2004, 10:40:28
Ort: Uppsala

Inlägg av cykze »

talet / 195.0 + 0.5 brukar fungera annars, fast det kanske tar lite längre tid. Tänk på att du kan få talet 256 när du delar 50000 med 195!
Erik_Lind
Inlägg: 97
Blev medlem: 2 maj 2005, 11:25:03

Inlägg av Erik_Lind »

Tackar för svaren!
Trevlig helg.

/erik
Skriv svar