J'ai un tableau de court dont les valeurs vont de 0 à la valeur maximale d'un court-circuit. Je redimensionne les données (pour les afficher sous la forme TYPE_USHORT) de sorte que les valeurs courtes résultantes soient comprises entre 0 et 65535. J'ai besoin d'imprimer certaines des valeurs mises à l'échelle, mais je n'arrive pas à comprendre comment. Les données sont dans un tableau et dans un BufferedImage.Comment imprimer un court-métrage en tant que short non signé en Java
12
A
Répondre
23
La façon la plus simple est de convertir en int:
short s = ...;
int i = s & 0xffff;
Le bitmask est de faire la conversion donne une valeur dans la gamme 0-65535 plutôt que de -32768 à 32767.
+0
Merci, cela semble être correct! –
13
Depuis Java 1.8, la même chose peut être fait avec Short.toUnsignedInt
:
System.out.println("signed s=" + s + ", unsigned s=" + Short.toUnsignedInt(s))
+3
Quelle différence le temps fait. –
Jim, la question avant cela, je finalement compris pour moi-même et la réponse affichée était pas ce que je voulais, que je l'accepte quand même? J'aurais dû dire que les données sont à la fois dans un tableau de court et dans l'image Buffered. Merci –