Comment puis-je déclarer une valeur unsigned short
en Java?
Réponses
Trop de publicités?Si vous avez vraiment besoin d'une valeur avec exactement 16 bits:
Solution 1: Utilisation de l'signé à court et à cesser de s'inquiéter de ce signe, sauf si vous avez besoin de faire la comparaison (<, <=, >, >=) ou de la division (/, %, >>) opérations. Voir cette réponse pour savoir comment gérer des nombres signés, comme si ils ont été signés.
Solution 2 (où la solution 1 ne s'applique pas): Utilisez les 16 bits de poids faible de l'int et de supprimer les bits supérieurs avec & 0xffff le cas échéant.
C'est un fil vraiment rassis, mais pour le bénéfice de tous ceux qui viennent après. Le caractère est un type numérique. Il prend en charge tous les opérateurs mathématiques, opérations sur les bits, etc. Il s'agit d'un 16 non signé.
Nous traitons les signaux enregistrés par du matériel embarqué personnalisé, nous traitons donc un grand nombre de 16 non signés provenant des A-D. Nous utilisons des caractères partout dans le monde depuis des années et nous n'avons jamais eu de problèmes.
Vous pouvez utiliser un caractère, car il s'agit d'une valeur non signée de 16 bits (bien que techniquement, il s'agit d'un caractère unicode, il pourrait éventuellement changer pour devenir une valeur de 24 bits à l'avenir) ... l'autre alternative consiste à utiliser un int et à vous assurer il est à portée.
N'utilisez pas de char - utilisez un int :-)
Et voici un lien sur Java et le manque de non signé .