Lorsque vous lisez des données à partir d'une source (un fichier, une prise réseau, etc.), il est seulement un flux de zéros et les uns. Habituellement, ils sont livrés par groupes de huit (c'est-à-dire sous la forme d'octets) mais il revient entièrement à votre code de décider comment interpréter ces bits.
Supposons un fichier contient cet octet:
10101100
Si vous l'interprétez comme un octet signé, cela représente la valeur -84 en décimal.
Si vous l'interprétez comme un octet non signé, alors il représente la valeur 172 en décimal.
Si votre code lit des valeurs dans une variable de type char
, alors vous verrez -84, car char
est signé par défaut. Si vous modifiez la déclaration de la variable à unsigned char
, vous verrez alors 172. Les bits sous-jacents sont les mêmes dans les deux cas, vous dites simplement à l'ordinateur de les interpréter différemment.
Indiquez le code qui les lit. –
Si possible, envoyez-nous le code où vous avez lu les octets. –
Je suis en train de réduire le code maintenant. C'est un peu compliqué, et j'ai juste saisi la sortie du journal de débogage. sry, travailler dessus ... – Stephano