uint_8 e uint_32

non riesco a capire bene cosa sono questi tipi di dati che uint_32, ed uint_8 ... qualcuno mi può spiegare qualcosa, o mi può suggerire dove studiare qualcosa a riguardo .. grazie

numeri interi senza segno a 8 e 32 bit. nulla di complicato

[quote author=Paolo S link=topic=88245.msg662914#msg662914 date=1327265590] non riesco a capire bene cosa sono questi tipi di dati che uint_32, ed uint_8 ... qualcuno mi può spiegare qualcosa, o mi può suggerire dove studiare qualcosa a riguardo .. grazie

[/quote] Sono tipi di dato predefiniti del C. Ti consiglio una qualunque guida online su questo linguaggio per approfondire le tue conoscenze.

Grazie... sto leggendo qualcosa ma non ho trovato nulla.... .. ma cosa cambia se gli interi li definsco come int ...., long o unsigned long .. che trovo nel refernce di arduino.....

Cambia il quantitativo di memoria occupata ed i minimi e massimi valori che possono accettare.

CHAR: -128/+127 - 1 byte di RAM http://arduino.cc/en/Reference/Char UNSIGNED CHAR: 0/255 (come il tipo BYTE) - 1 byte di RAM http://arduino.cc/en/Reference/UnsignedChar INT: -32768/+32767 - 2 byte di RAM http://arduino.cc/en/Reference/Int UNSIGNED INT: 0/65535 - 2 byte di RAM http://arduino.cc/en/Reference/UnsignedInt LONG: -2147483648/+2147483647 - 4 byte di RAM http://arduino.cc/en/Reference/Long UNSIGNED LONG: 0/4294967295 - 4 byte di RAM http://arduino.cc/en/Reference/UnsignedLong

grazie leo.. e uint8 ed uint 32.. quali sono i limiti ????

lesto: numeri interi senza segno a 8 e 32 bit. nulla di complicato

Bisogna leggere... ;)

Scusa leo.. ho letto. :astonished:

Ma non capisco qual'è il valore massimo per il quale posso adoperarli... altrimenti come faccio a capire se mi onviene un tipo o l'altro? :~

Scusa leo.. ho letto. smiley-eek

Ma non capisco qual'è il valore massimo per il quale posso adoperarli... altrimenti come faccio a capire se mi onviene un tipo o l'altro? smiley-confuse

Impossibile che tu abbia letto, perchè se lo avessi fatto qualcosa l'avresti capita, magari non tutto ma qualcosa si.

Se hai difficolta con l'inglese cerca su wikipedia italiana es. http://it.wikipedia.org/wiki/Word.

Se non capisci è perchè ti mancano le basi minime di informatica che puoi colmare in una settimana 1 ora al giorno.

Ciao.

uint8 è una variabile che può contenere (8 bit) un byte. Quindi possono essere CHAR: -128/+127 - 1 byte di RAM http://arduino.cc/en/Reference/Char UNSIGNED CHAR: 0/255 (come il tipo BYTE) - 1 byte di RAM http://arduino.cc/en/Reference/UnsignedChar

se è un uint32 ha 32 bit - 4 Byte di RAM LONG: -2147483648/+2147483647 - 4 byte di RAM http://arduino.cc/en/Reference/Long UNSIGNED LONG: 0/4294967295 - 4 byte di RAM http://arduino.cc/en/Reference/UnsignedLong

MauroTec: Impossibile che tu abbia letto, perchè se lo avessi fatto qualcosa l'avresti capita, magari non tutto ma qualcosa si. Se hai difficolta con l'inglese cerca su wikipedia italiana es. http://it.wikipedia.org/wiki/Word. Se non capisci è perchè ti mancano le basi minime di informatica che puoi colmare in una settimana 1 ora al giorno.

Mauro, ma dimmi un po', t'hanno perso la lavatrice ed il cellulare? :P No perché stavo per scrivere che anche io ho dei dubbi sulle variabili ma m'ho c'ho paura :P

@marbi: non è corretto. uint*xx* identifica un UNsigned integer, quindi uint8 non può essere un char o un byte ma solo un tipo byte perché il char è signed. Esattamente come uint32 non è un tipo long o unsigned long ma solo unsigned long.

grazie Leo della spiegazione, chiedo scusa.

non sapevo questa sottigliezza (bastava immaginarselo).

dovevo caderci prima o poi, perchè googlando non sono mai arrivato a capire quali tipi di variabili si potessero inserire (per me esistono anche le variabili date e non ci preoccupiamo molto di quanto consumino :P).

Puoi usare indifferentemente uint32 o unsigned long, in uno sketch di Arduino: per usare il primo devi importare la libreria stdint.h mentre i secondi sono i tipi predefiniti di Arduino, per cui puoi usarli senza importare altro. Io uso i secondi, anche perché così un altro utente dell'Arduino capisce meglio il codice.

C'è da dire anche che esiste una leggera differenza fra i tipi del C usati su un computer ed i tipi usati su Arduino. Sui computer un int o tipo intero è lungo 32 bit mentre sull'Arduino è lungo 16, così come sul computer un long è lungo 64 bit mentre sull'Arduino solo 32. uint16 fa capire la lunghezza ma, secondo me, unsigned int rende sull'Arduino molto meglio l'idea del tipo che si sta usando.

Mauro, ma dimmi un po', t'hanno perso la lavatrice ed il cellulare? smiley-razz

hahaha, c'è di peggio, molto peggio dico solo questo per sfogo, ho duvuto procurare una lavatrice di pronto accomodo usata (regalata) ma non ho trovato nessuno per aiutarmi a salirla, di solito smonto il coperchio tolgo il peso di cemento impernato sulla vasca e me la carico su, purtroppo mi hanno dato una lavatrice antica che pesa una tonnellata per salirla mi sono attrazzato alla meglio ma non è stato sufficiente l'ernie a disco si sono fatte sentire e per di più oggi fila di 3 ore per la benzina.

Si diciamo che mi girano un pò.

Comunque la questione delle variabili non si può spiegare sul forum, la rete è piena di documentazione chiara e lampante, quindi il mio dire non dipende dalla vorticosi testicolare attuale :D

Poi se mi posti qualcosa del genere: io ho capito che gli interi di base sono grandi 16 bit ma non capisco cosa sono le word e le double word. Allora io posso rispondere, sai le word.... ecc.

Ma un pò di impegno lo voglio vedere, tradotto con affetto ti attacchi pure tu se vuoi una lezione sui tipi di variabili almeno da me non l'avrai. ]:)

Ciao.

MauroTec: per aiutarmi a salirla, di solito smonto il coperchio tolgo il peso di cemento impernato sulla vasca e me la carico su, purtroppo mi hanno dato una lavatrice antica che pesa una tonnellata per salirla mi sono attrazzato alla meglio ma non è stato sufficiente l'ernie a disco si sono fatte sentire e per di più oggi fila di 3 ore per la benzina.

Ma lol, dei romani adoro l'umorismo, dei siculi le incredibili formazioni sintattiche! Hai salito la lavatrice? è tipo "hai sceso il cane", bellissima :D Per le tue disavventure... è il karma Mauro, devi fare azioni buone per riequilibrare il karma!

Ma un pò di impegno lo voglio vedere, tradotto con affetto ti attacchi pure tu se vuoi una lezione sui tipi di variabili almeno da me non l'avrai. ]:)

Ma siamo pazzi?? Una lezioni sulle variabili alla domenica sera? Credo fosse uno dei miei incubi quando ero in università e dovevo dare l'unico esame di matematica dell'intero corso :P No no, la domenica sera si riposa! E visto che sett pross sono via per lavoro, stacco dall'arduino tutta la settimana :P

Cmq chiudo l'OT senno qualcuno mi sgrida.

beh ragazzi calcolare valore masimo è minimo per gli interi è una baggianata... da 0 a 2 elevato al numero di bit se unsigned, da -2 elevato al numero di bit-1 a (-2 elevato al numero di bit-1)-1 per un signed

http://it.wikipedia.org/wiki/Long_integer#Valore_e_rappresentazione

per i float la cosa si complica assai, perchè il numero viene trasformato in 1,qualcosa * 2 elevato alla y, poi ci si salva il segno, mantissa (ovvero il qualcosa) e l'esponente (ovvero la y). ecco perchè 2,5+2,5 NON fa 5 sull'arduino, perchè la mantissa è limitata a 16bit se non erro, e quindi non hai salvato 2,5 ma qualcosa che se riportato in decimale è simile a 2.45685485725. Questo problema si chiama "infinitesimale del calcolatore"

Ok...

quindi mi sembre di aver capito che posso sostiture uint_32 con unsigned long e uint_8 con il tipo byte .. idoneo a rappresentare interi che non superino 255 .. ok? spero di aver capito.

Ringrazio più o meno tutti. Il meno e per MauroTec non perchè non gradisco le critiche ed i suggerimenti, ma perchè penso che magari si potrebbero esprimere con altro modo.

Grazie ... ciao

[quote author=Paolo S link=topic=88245.msg663911#msg663911 date=1327336755] Ok...

quindi mi sembre di aver capito che posso sostiture uint_32 con unsigned long e uint_8 con il tipo byte .. idoneo a rappresentare interi che non superino 255 .. ok? spero di aver capito. [/quote] Perfettamente.

Ringrazio più o meno tutti. Il meno e per MauroTec non perchè non gradisco le critiche ed i suggerimenti, ma perchè penso che magari si potrebbero esprimere con altro modo.

No, non pensare male di lui. Solo che in questi giorni ha vissuto problematiche nella vita reale che lo hanno un po' (eufemismo) stressato.