python struct.erreur: ushort format 0 <= nombre <= USHRT_MAX
Je suis à l'aide de python pour faire un test:
print struct.pack('1H', 101000)
Il m'indique cette erreur:
struct.erreur: ushort format 0 <= nombre <= USHRT_MAX
Je suis confus à ce sujet, que je sais 1H signifie unsigned short qui signifie que ce premier bit peut être utilisé, de sorte que le max de la portée de 1H devrait être 0 <= nombre <= (2 << 16) - 1 (ce qui signifie que 131071), alors pourquoi ne montrez-moi cette erreur?
Vous devez vous connecter pour publier un commentaire.
Le maximum n'est pas
(2<<16) - 1
, c'est 2^16 - 1. Ou, si vous préférez écrire un déplacement,(1<<16) - 1
. Le nombre deux est déjà décalé à gauche un seul endroit. La valeur maximale pour un unsigned short (16 bits) est de 65535.