Sens de l' %04X en C et la façon d'écrire la même chose en java
Dans le projet java je suis en train de travailler sur le, une partie du projet a été écrit précédemment par quelqu'un d'autre en C et j'ai besoin maintenant d'écrire la même chose en Java.
Il est énoncé dans le code C pour l'impression vers un fichier:
fprintf(ff, "%04X ", image[y*width+x]);
Tout d'abord, je ne suis pas sûr de la signification de %04X
. Je pense que cela signifie que si image[i]
a longueur de cinq ou plus, puis imprimer uniquement de gauche quatre chararacters. Pour faire la même chose en Java, j'ai pensé à masquer la valeur à l'aide de and
opération
image[i] & 0xFFFF
Quelqu'un peut me dire la signification correcte de %04X
et comment faire la même chose en Java? Merci.
OriginalL'auteur Rog Matthews | 2012-03-28
Vous devez vous connecter pour publier un commentaire.
La valeur est formaté comme un entier hexadécimal à quatre chiffres et les zéros non significatifs. Java utilise le même format de chaîne de caractères syntaxe. Vous pouvez le trouver dans la javaDoc de
Formateur
.Extrait:
Un fonctions de la
(*) - écrire à la
PrintStream
System.out
qui est généralement la console mais peut être redirigé vers un fichier ou autre choseOriginalL'auteur Andreas_D
Permet de briser le code de format
"%04X"
dans ses parties distinctes:X
signifie qu'il va imprimer un nombre entier, en hexadécimal, grandX
pour les grandes hexadécimal lettres4
signifie que le numéro sera imprimé justifié à gauche avec au moins quatre chiffres, impression des espaces si il y a moins de quatre chiffres0
signifie que si il y a moins de quatre chiffres, il permet d'imprimer les zéros à gauche.OriginalL'auteur Some programmer dude
Le X en %04X signifie hexadécimal, avec ABCDEF au lieu de abcdef, et la 04 des moyens d'impression à moins quatre chiffres, le remplissage avec des zéros. Il va utiliser plus de chiffres si nécessaire.
OriginalL'auteur Thomas Padron-McCarthy