[ Príspevkov: 6 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 17.02.14
Prihlásený: 20.04.26
Príspevky: 404
Témy: 152 | 152
Bydlisko: Poprad-okolie
NapísalOffline : 11.08.2017 21:56 | Pretečenie countera v C (Wiring)

Ahojte, mám urobený jednoduchý counter v jazyku C pre Arduino. Raz za 6 sekúnd je tam counter++. Bude to na systéme, ktorý bude v prevádzke roky, v setupe je nastavená 0. Teda ak sa resetne/vypadne prúd, tak ide zase od 0. Zaujímalo by ma, či má nejaký limit po aký počíta, či sa nemôže stať, že pretečie alebo niečo podobné no myslím, že nie. Ďakujem! Zdôraznim, že je to INT!


Offline

Užívateľ
Užívateľ
Pretečenie countera v C (Wiring)

Registrovaný: 07.04.12
Prihlásený: 02.06.21
Príspevky: 907
Témy: 54 | 54
NapísalOffline : 12.08.2017 7:39 | Pretečenie countera v C (Wiring)

Samozrejme že môže pretiecť. Záleží ako je v Arduine definovaný int. Bežne to je myslím aspoň 2B, predpokladám, že to máš definované ako unsigned, takže aspoň [0; 65535].


_________________
Notebook: Dell Inspiron 15-7537= i5-4200U|nVidia GT 750M 2GB|RAM 6GB|250GB Samsung 850 EVO|W8.1|Cooler Master NotePal U3
Pc: Asus Rog Strix B360-G | i7-8700 | MSI 1080 Gaming X | Crucial Ballistix 16GB 2666MHz Dual Ranked | Samsung 970 Evo | Crucial MX500 | WD Red | Fera 3 | Arctic F12 Silent | Seasonic Focus Plus 650W Gold | Fractal Design Mini C TG
Disk: Western Digital Elements 1TB USB 2.0; Seagate Expansion 2TB USB 3.0
Príslušenstvo: A4tech Bloody V3 V-Track Core 3 + A4tech Bloody B-070; A4tech Bloody B120; A4tech Bloody G501; ATH-M40x; MSI Clutch M40
Monitor: Dell U2515H
Mobil: Xiaomi Redmi Note 3 Special Edition
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 17.02.14
Prihlásený: 20.04.26
Príspevky: 404
Témy: 152 | 152
Bydlisko: Poprad-okolie
Napísal autor témyOffline : 13.08.2017 22:09 | Pretečenie countera v C (Wiring)

Použil som long pocitadlo = -2,147,483,648 :) Má to 4 bajty. Ak použijem unsigned long tak je to to isté ale od 0, je to teoreticky asi jedno však?


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3 | 3
NapísalOffline : 14.08.2017 23:59 | Pretečenie countera v C (Wiring)

Spočítaj si, aký dlhý čas sú 2 miliardy sekúnd a 4 miliardy sekúnd. A zistíš, ktoré ti bude lepšie, príp. ktoré ti stačí ;)


_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 17.02.14
Prihlásený: 20.04.26
Príspevky: 404
Témy: 152 | 152
Bydlisko: Poprad-okolie
Napísal autor témyOffline : 15.08.2017 7:59 | Pretečenie countera v C (Wiring)

Veď je to totožné. Je to buď od -2,147,483,648 do 2,147,483,648 alebo od 0 po 4,294,967,295. počet sekúnd - dostupných čísel je totožný.


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3 | 3
NapísalOffline : 15.08.2017 8:01 | Pretečenie countera v C (Wiring)

jáj, no ak ti nevadia záporné čísla tak samozrejme


_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
 [ Príspevkov: 6 ] 


Pretečenie countera v C (Wiring)



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

Faktorial - pretečenie

v Ostatné

6

1136

09.11.2008 15:45

ado21

V tomto fóre nie sú ďalšie neprečítané témy.

i8080 pretečenie akumulátora - problém

v Backend

0

325

12.04.2013 2:23

AM-JP



© 2005 - 2026 PCforum, edited by JanoF