Maison > Java > javaDidacticiel > Comment obtenir des représentations binaires d'entiers sans remplissage en Java ?

Comment obtenir des représentations binaires d'entiers sans remplissage en Java ?

DDD
Libérer: 2024-12-07 08:07:12
original
614 Les gens l'ont consulté

How to Get Zero-Padded Binary Representations of Integers in Java?

Obtention de représentations binaires sans remplissage d'entiers en Java

En programmation, il est souvent nécessaire de représenter des entiers au format binaire. Bien que la méthode Integer.toBinaryString() de Java fournisse des représentations binaires, elle n'ajoute pas de remplissage nul par défaut. Cet article explore comment obtenir des représentations binaires avec un remplissage nul en Java.

Exigence de remplissage nul

Supposons que nous ayons les nombres 1, 2, 128 et 256, et nous voulons les représenter en binaire avec un remplissage nul sur une longueur de 16 chiffres. Le résultat souhaité serait :

0000000000000001
0000000000000010
0000000010000000
0000000100000000
Copier après la connexion

Solution Java standard

La méthode String.format() de Java permet aux utilisateurs de spécifier des spécificateurs de format pour le remplissage. Cependant, son comportement par défaut consiste à utiliser des espaces pour le remplissage à gauche, ce qui donne :

               1
Copier après la connexion

Solution personnalisée

Pour obtenir un remplissage nul, nous pouvons utiliser un approche personnalisée :

String binaryString = Integer.toBinaryString(1);
String zeroPaddedBinaryString = String.format("%16s", binaryString).replace(' ', '0');
Copier après la connexion

Ici, nous utilisons d'abord Integer.toBinaryString() pour obtenir la représentation binaire. Nous utilisons ensuite String.format() avec un spécificateur de format « s » pour garantir une largeur de 16 chiffres et aligner à gauche la représentation binaire. Enfin, nous remplaçons les espaces par des zéros à l'aide de la méthode replace().

Solution alternative

Une autre approche consiste à utiliser une méthode personnalisée qui ajoute le remplissage de zéros nécessaire :

public static String zeroPaddedBinary(int number) {
    String binaryString = Integer.toBinaryString(number);
    int desiredLength = 16;
    StringBuilder zeroPaddedBinaryString = new StringBuilder();
    for (int i = binaryString.length(); i < desiredLength; i++) {
        zeroPaddedBinaryString.append('0');
    }
    zeroPaddedBinaryString.append(binaryString);
    return zeroPaddedBinaryString.toString();
}
Copier après la connexion

Cette méthode prend l'entier, le convertit en chaîne binaire, détermine le remplissage de zéros nécessaire, ajoute les zéros et renvoie le représentation binaire avec zéro.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal