Convertir un nombre au format binaire en JavaScript

Nithin Krishnan 12 octobre 2023
  1. Créer une fonction pour convertir le nombre en binaire en JavaScript
  2. Convertir un nombre en binaire avec la fonction toString(2)
Convertir un nombre au format binaire en JavaScript

La conversion d’un nombre en binaire est un processus assez complexe. Si nous devons nous asseoir et convertir les nombres manuellement, le résultat sera sujet aux erreurs. Comment changer un nombre en un format binaire ? JavaScript n’a pas beaucoup de fonctions intégrées pour le faire. Nous allons vous présenter comment convertir un nombre en binaire en JavaScript.

Créer une fonction pour convertir le nombre en binaire en JavaScript

Avant de passer au code, nous devons connaître le processus de conversion d’un nombre décimal (base 10) en un nombre binaire (base 2). Pour plus de simplicité, nous couvrirons la conversion de nombres entiers positifs dans cet article. Par conséquent, la modification des entiers négatifs et des nombres à virgule flottante n’entre pas dans le cadre de cet article.

Comprendre le processus de conversion

Étant donné un nombre entier (ou un nombre JavaScript), nous continuons à diviser le nombre par deux et à capturer son reste jusqu’à ce que le nombre devienne inférieur à 2. Par exemple, si nous avons un nombre 25, continuons à diviser 25 par 2 jusqu’à ce que nous obtenions le quotient inférieur à 2.

Diviseur Quotient Reste Morceaux
25 / 2 12 1 0
12 / 2 6 0 1
6 / 2 3 0 2
3 / 2 1 1 3
1 / 2 0 1 4

Nous lisons les chiffres du plus haut au plus bas. Par conséquent, la valeur binaire du nombre 25 est 1101.

Nous utilisons l’ensemble de calculs suivant pour confirmer si la valeur binaire représente le nombre décimal correct. Chaque bit représenté dans le nombre binaire est multiplié par 2 pour alimenter la valeur de position du bit (à partir de 0).

= 2^4*(1) + 2^3*(1) + 2^2*(0) + 2^1*(0) + 2^0*(1)
= 16 + 8 + 0 + 0 + 1
= 25

Code JavaScript pour convertir un nombre en son format binaire

Nous construisons le code suivant sur la méthode décrite ci-dessus. La fonction convertToBinary1 console l’équivalent binaire d’un nombre décimal passé en paramètre. Notez que nous lisons le résultat à l’envers. Par conséquent, le code a été créé en tenant compte de tous les facteurs susmentionnés.

Utilisation de l’itération

function convertToBinary1(number) {
  let num = number;
  let binary = (num % 2).toString();
  for (; num > 1;) {
    num = parseInt(num / 2);
    binary = (num % 2) + (binary);
  }
  console.log(binary);
}

window.onload = function() {
  console.log(convertToBinary1(25));
  console.log(convertToBinary1(8));
}

Production:

11001
1000

Pas

  • Faire une copie du paramètre passé à la fonction et le stocker dans une variable temporaire num.
  • Créez une variable pour stocker les bits binaires. Il est essentiellement de type string pour faciliter la manipulation.
  • Démarrez l’itération pour générer les bits binaires et laissez-la continuer jusqu’à ce que le nombre ne soit plus divisible par 2.

    À chaque itération, nous divisons le nombre par 2 pour obtenir le quotient. On calcule le module du quotient. Cette étape génère les bits binaires comme module d’un nombre à 2 génère les bits binaires 0 ou 1.

  • Ajouter le bit binaire généré par la valeur module à la variable binaire qui contient les bits binaires générés à chaque itération.
  • Une fois que le nombre n’est plus divisible par 2 (vérifié avec la condition (num / 2) > 1), l’itération s’arrête.
  • Dans la dernière étape, nous enregistrons le résultat dans la console. Et donc nous obtenons l’équivalent binaire du nombre décimal passé en paramètre à cette fonction.

Utilisation de la récursivité

Nous pouvons utiliser la méthode de récursivité pour convertir le bit décimal en binaire. Cette approche nécessite moins de lignes de code mais plus de réflexion. La récursivité s’arrête lorsque le nombre n’est plus divisible par 2, et elle continue de s’appeler jusqu’à ce qu’elle atteigne la condition de rupture. Les récursions sont élégantes mais consomment plus de mémoire pour la pile d’appels de fonction que pour l’approche d’itération simple.

function convertToBinary(number, bin) {
  if (number > 0) {
    return convertToBinary(parseInt(number / 2)) + (number % 2)
  };
  return '';
}

window.onload = function() {
  console.log(convertToBinary(25));
  console.log(convertToBinary(8));
}

Production:

11001
1000

Convertir un nombre en binaire avec la fonction toString(2)

La fonction toString() est assez familière pour convertir un nombre en chaîne. Mais, nous pouvons également l’utiliser pour convertir un nombre en son format binaire. Habituellement, il est utilisé avec l’objet Number pour convertir le nombre au format binaire. La fonction toString(2) de javascript, lorsqu’elle est utilisée sur un objet numérique, renvoie l’équivalent binaire de la valeur numérique, comme illustré dans les exemples ci-dessous. La méthode prend la valeur de base en entrée. Par conséquent, nous pouvons l’utiliser pour convertir un nombre donné en d’autres systèmes de base (comme la base de 16 (hexadécimal) et celle de huit (octal)).

(8).toString(2)(25).toString(2)(235).toString(2)

Production:

"1000"
"11001"
"11101011"

Notez que le type de retour de la méthode toString(2) reste une chaîne. Par conséquent, il convertit le nombre en un bit binaire dans un format de chaîne.

Article connexe - JavaScript Number