tungu napisał(a):
Mam wrażenie, że mijamy się z sednem.
Ja nie mam takiego wrażenia ... tym bardziej, że o jakim sednie kolega pisze ? o tym z pierwszego postu ?
post172578.html#p172578 czy może o tym z któregoś tam kolejnego postu?
post172633.html#p172633to pierwsze
tungu napisał(a):
I Wasze propozycje chyba się rozmijają z ideą.
Co do pierwszego sedna - to od samego początku padały konkretne podpowiedzi różnych użytkowników .... w tym moje - i były zupełnie na temat
Co do drugiego sedna to już się nie odnoszę - bo to już jest bez sensu zresztą tak samo jak kolejne sedno - przecież do niczego niepotrzebne ...
tungu napisał(a):
Kolega nie chciał zaokrąglać. Chciał dokładnie.
A co to znaczy nie chciał zaokrąglać i w tym aspekcie chciał DOKŁADNIE

sorki ale to się robi na prawdę bez sensu

.... Zresztą sam zwróć uwagę - autor nie chciał zaokrąglać ale chciał mieć same zera po przecinku - i co? pomysłem jest na to użycie float/double ? Tym sposobem oszukamy matematykę i nagle po przecinku pojawią się w tym przypadku zera ?
mczarny napisał(a):
podpowiedzcie mi jak podzielić liczbę 60 tak żeby otrzymać 4,2. Kalkulator mówi żeby podzielić przez 14,2857 tylko jak?
Ciekawe co to za tajemniczy kalkulator tak "mówi" bo 60/14,2857 = 4,2000042.... nie zaś 4,2 (te kropki to 4,2000042000042.... itd)
stąd ponawiam pytanie co to ma oznaczać DOKŁADNIE ale z samymi zerami ? - wg mnie nonsens ... jeśli dokładnie to znaczy że tak jak wyżej i zgodnie z podpowiedziami można to uzyskać w procku na liczbach całkowitych bez żadnych floatów o czym pisałem - czy to takie trudne
(60*100000) / (14,2857*10000) czyli do procka 60000000 / 142857 = 42 przesuwamy przecinek o jedną cyfrę w lewo i mamy 4,2
ale ok chcemy dokładniej czyli więcej miejsc po przecinku na liczbach całkowitych ? co za problem ?
(60*100 000 000) / (14,2857*10 000) czyli do procka 600 000 000 / 142857 = 42000 przesuwamy przecinek o cztery miejsca w lewo i mamy 4,2000
jeszcze dokładniej ?
tu już by zabrakło typu uint32_t .... ale można byłoby się jeszcze posiłkować typem uint64_t i co ? nie da rady ... .oczywiście wtedy znowu na 6 miejscu po przecinku znowu zobaczymy 42 bo jak miałoby to zniknąć ?
użycie typu float nic by tu nie zmieniło bo nadal matematyka będzie matematyką i na 6 miejscu znowu pojawi się 42
co gorsze - w AVR GCC nie ma typu double więc też jest ograniczenie do (nie pamiętam już ilu miejsc po przecinku) ... wręcz więcej ich uzyskamy działając na liczbach całkowitych
Podsumowując zatem nic się nie rozmija z ideą .... tylko zdaje się ktoś chciał czegoś czego nie ma i być nie może a na dodatek twierdził że tego co nie ma - otrzyma poprzez zastosowanie float
No już bardziej łopatologicznie to chyba nie da się tego wyjaśnić