přetečení int v C arduino
Petr Zapadlo
zapik na email.cz
Pátek Červenec 18 09:03:07 CEST 2014
Zdravím,
cas1 je ulong - tj na arudinu očekávám 32bit.
Tam je rezerva dost velká.
Záleží jak se přesně počítá,
cas1 je ulong, den je int. Tedy člen den*86400 bude do intu velký, ale
do ulong vyhovující.
Jak dochází k přetypování?
Petr
Dne 18.7.2014 08:28, Pavel Kutina napsal(a):
>
> Skoly nemam, ale at na to koukam, jak chci, tak mi vychazi, ze v radku
> cas1=cas1-den*86400;
> bude "den" vzdycky mimo rozsah int i uint (tedy za predpokladu, ze den
> je vetsi nez jedna, coz tak nejak obvykle byva). Pritlacil bych na long.
>
> Pavel Kutina
>
>
> Dne 18.7.2014 8:02, Petr Zapadlo napsal(a):
>> Bude,
>> to jsem pochopil, proto jsem taky změnil délku datového typu.
>> tady mě ram netrápí, ale chci chápat co se děje do budoucna.
>>
>> Zakopaný pes je zřejmně zde:
>>
>> cas1=cas1-den*86400; //cas1=36000
>> hodina=int(cas1/3600); //hodina=10, cas1=65535
>> cas1=cas1-hodina*3600;
>>
>> v které přesně operaci to přeteče a proč?
>> cas1 unsigned log, takže rezerva je tam dost velká.
>> Zápis:
>> int(cas1/3600)
>>
>> chápu tak, že výpočet se provede v ulong a převede se na int.
>>
>> Je to tak?
>>
>> Díky
>>
>> Petr
>>
>>
>>
>>
>> Dne 18.7.2014 07:56, Robert Baranka napsal(a):
>>> nebude to "neco" mat suvislost s 2^15, teda -32768 az 32767?
>>> :-D
>>> Robo
>>>
>>> Dňa 18. 7. 2014 7:37 Petr Simek wrote / napísal(a):
>>>>
>>>> Int je signed tedy +-32000 a neco. Co zkusit uint ?
>>>>
>>>>> Petr
>>>>
>>>> *------------------------------------------------------------------------*
>>>>
>>>>
>>>> | Petr Simek APS
>>>> JU |
>>>> | psimek na jcu.cz |
>>>> *------------------------------------------------------------------------*
>>>>
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> HW-list mailing list - sponsored by www.HW.cz
>>>> Hw-list na list.hw.cz
>>>> http://list.hw.cz/mailman/listinfo/hw-list
>>>>
>>> _______________________________________________
>>> HW-list mailing list - sponsored by www.HW.cz
>>> Hw-list na list.hw.cz
>>> http://list.hw.cz/mailman/listinfo/hw-list
>>
>> _______________________________________________
>> HW-list mailing list - sponsored by www.HW.cz
>> Hw-list na list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
>>
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
Další informace o konferenci Hw-list