J'ai un numéro et je veux l'imprimer en binaire. Je ne veux pas le faire en écrivant un algorithme, y a-t-il une fonction intégrée pour cela en Java?
277
En supposant que vous vouliez dire «intégré»:
int x = 100;
System.out.println(Integer.toBinaryString(x));
Voir la documentation Integer .
( Long
a une méthode similaire, BigInteger
a une méthode d'instance où vous pouvez spécifier le radix.)
Ici, pas besoin de dépendre uniquement du format binaire ou de tout autre format ... une fonction intégrée flexible est disponible Qui imprime le format que vous voulez dans votre programme. Integer.toString (int, représentation);
la source
toBinaryString
utilise la sortie du complément à deux,toString
couvre le nombre de la base spécifiée et met un signe négatif devant, donctoString(-8, 2) == "-1000"
la source
J'avais besoin de quelque chose pour bien imprimer les choses et séparer les bits tous les n bits. En d'autres termes, affichez les zéros de tête et affichez quelque chose comme ceci:
Voici donc ce que j'ai écrit:
Invoquez-le comme ceci:
la source
result.replace(result.length() - 1, result.length(), "");
est requis? Comme nous passonsint
ce qui est déjà 32 bits. Ce que nous remplaçons à l'avant-dernière ligne?String
classetrim
pour obtenir le même effet.Vieille école:
la source
System.out.println
et&
sont intégrés;)Production:
la source
vérifier cette logique peut convertir un nombre en n'importe quelle base
OU
la source
Il s'agit de la manière la plus simple d'imprimer la représentation binaire interne d'un entier. Par exemple : si nous prenons n comme 17, la sortie sera: 0000 0000 0000 0000 0000 0000 0001 0001
la source
Essayez-le. Si la portée n'imprime que les valeurs binaires de la valeur entière donnée. Cela peut être positif ou négatif.
contribution
5
Production
101
la source
Solution utilisant un masque d'affichage 32 bits,
la source
Solution simple et assez simple.
la source
Il y a déjà de bonnes réponses publiées ici pour cette question. Mais, c'est la façon dont je me suis essayé (et peut-être la logique la plus simple → modulo / divide / add ):
la source
La question est délicate en java (et probablement aussi dans une autre langue).
Un entier est un type de données signé 32 bits , mais Integer.toBinaryString () renvoie une représentation sous forme de chaîne de l'argument entier sous la forme d'un entier non signé dans la base 2.
Ainsi, Integer.parseInt (Integer.toBinaryString (X), 2) peut générer une exception (signée ou non signée).
Le moyen sûr consiste à utiliser Integer.toString (X, 2); cela va générer quelque chose de moins élégant:
-11110100110
Mais ça marche !!!
la source
Je pense que c'est l'algorithme le plus simple à ce jour (pour ceux qui ne veulent pas utiliser les fonctions intégrées):
Exemple:
convertNumber (1) -> "0b1"
convertNumber (5) -> "0b101"
convertNumber (117) -> "0b1110101"
Comment cela fonctionne: la boucle while déplace un nombre vers la droite (en remplaçant le dernier bit par l'avant-dernier, etc.), obtient la valeur du dernier bit et la place dans StringBuilder, se répète jusqu'à ce qu'il ne reste plus de bits (c'est à ce moment que a = 0).
la source
la source
Essayez de cette façon:
}
10010100
la source
Représentation binaire d'un int x donné avec des zéros remplis à gauche:
la source
Entrez un nombre décimal comme entrée. Après cela, nous opérons comme modulo et division pour convertir l'entrée donnée en nombre binaire. Voici le code source du programme Java pour convertir des valeurs entières en binaire et le nombre de bits de ce binaire pour son nombre décimal. Le programme Java est correctement compilé et exécuté sur un système Windows. La sortie du programme est également indiquée ci-dessous.
la source
Comme aucune réponse n'est acceptée, votre question était peut-être de savoir comment stocker un entier dans un fichier binaire. java.io.DataOutputStream pourrait être ce que vous recherchez: https://docs.oracle.com/javase/8/docs/api/java/io/DataOutputStream.html
la source
Vous pouvez utiliser le masque de bits (1 << k) et faire une opération ET avec un nombre! 1 << k a un bit en position k!
la source
Il fonctionne avec des valeurs signées et non signées, utilise une puissante manipulation de bits et génère les premiers zéros à gauche.
la source