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