Visualizza messaggio singolo
Vecchio 16-03-2008, 15.23.29   #8
LoryOne
Gold Member
WT Expert
 
Registrato: 09-01-2002
Loc.: None of your business
Messaggi: 5.505
LoryOne è un gioiello raroLoryOne è un gioiello raroLoryOne è un gioiello raro
Quota:
"mmm ho un po' di confusione: se l'intero sono 2 byte, perche' se io invio l'intero "90", sono solo 8 bit?"
Non ci siamo per più di una ragione.
Prima di tutto, non è detto che il tipo intero sia di due bytes
Poi devi considerare se è stato dichiarato signed oppure unsigned.
Per conoscere le dimensioni in byte di un tipo in C, io ti consiglio sempre di utilizzare sizeof(tipo).
Lo stesso codice su un hardware a 16 bit ti indicherà 2 bytes per il tipo intero, mentre su un 32 bit lo stesso tipo ti fornirà 4 byte.
Più tardi inserirò un po di codice per farti capire un po meglio, soprattutto come sia possibile che il valore di un int possa essere impostato in base al valore di 2 o più char
Ti sarà chiaro in seguito anche perchè si è scelto il byte come unità di misura di allocazione, sebbene sia comunque possibile ricavare i due nibble di cui si compone agendo sulla manipolazione di bit.
LoryOne non è collegato   Rispondi citando