6
votes

Comment travailler avec d'autres numéros de base en Java?

gars si l'int c = 10001; qui est une valeur binaire.Si je veux le traiter comme la multipliant par 10 comment faire ça?


3 commentaires

Est-ce pour un contexte académique ou réel, c'est-à-dire que vous vraiment besoin de traiter un int comme binaire?


Sentiment: INT C = 10001; `n'est pas une valeur binaire, c'est une valeur décimale.


@Oscar Reyes est une valeur binaire: 0B10011100010001


5 Réponses :


16
votes

Si je vous comprends correctement, vous voulez faire ceci: INTEGER.PARSINTINT ("10001", 2) , qui vous donnera 17 ans.
integer.tostring accepte également Radix comme deuxième argument.

doc: INTEGER.PARSINTIN (String S, RADIX INT)


0 commentaires

7
votes

Un "INT" n'est ni binaire, hexagone ou décimal, c'est juste un endroit pour stocker un numéro. Les variables elles-mêmes n'ont pas une représentation spécifique hexagonale / déc / binaire jusqu'à ce que vous les imprimez.

Lorsque vous tapez le numéro dans votre code, il a une base, mais après avoir utilisé la base pour traiter ce que vous avez saisi, la base est jetée et l'INT ne stocke pas un nombre.

La réponse à votre question est donc C * 10 (en supposant que vous ayez voulu dire 10 décembre)


0 commentaires

1
votes

Vous pouvez le spécifier comme int c = 0x11 (considérer 10001 est 0001 0001, qui est 11 en hexagone) xxx

conversion décimale binaire

  • 0 0000
  • 1 0001
  • 2 0010
  • 3 0011
  • 4 0100
  • 5 0101
  • 6 0110
  • 7 0111
  • 8 1000
  • 9 1001
  • A 1010
  • B 1011
  • C 1100
  • D 1101
  • E 1110
  • F 1111

0 commentaires

0
votes

Traitement

String binaryString = "10001";


0 commentaires

0
votes

La multiplication d'un binaire avec un entier:

  • S'il s'agit d'une puissance de deux, alors il suffit de passer à gauche tous les chiffres de la valeur des exposants laissés
  • Si ce n'est pas une puissance de deux, trouvez la plus grande puissance de deux plus petites que la valeur que vous souhaitez multiplier votre C avec. Les mêmes pour le reste et ainsi de suite. À la fin, résumez toutes les valeurs.

    pour votre exemple avec C = 10001 (base 2) * 10 (base 10) Ce moyen (10 = 2 ^ 3 + 2 ^ 1) xxx < P> Mais ce n'est vraiment pas un bon moyen de gérer ce genre de tâche ... De plus, il pense que c'est une mauvaise idée d'enregistrer une valeur binaire dans un int. Je pense qu'il serait préférable de convertir le binaire en un entier avant de l'utiliser.


0 commentaires