Maison > interface Web > js tutoriel > le corps du texte

Encodage d'une chaîne numérique en une chaîne de 0 et de 1 en JavaScript

PHPz
Libérer: 2023-08-24 08:13:08
avant
621 Les gens l'ont consulté

在 JavaScript 中将数字字符串编码为 0 和 1 的字符串

Question

Nous devons écrire une fonction JavaScript qui accepte une chaîne représentant un nombre décimal.

Notre fonction doit convertir/encoder ce nombre décimal en binaire en fonction des règles suivantes.

Pour chaque chiffre de d dans n

  • Soit k le nombre de chiffres de d
  • On multiplie k-1 par le nombre 0 suivi du nombre 1
  • On écrit le nombre d sous forme de chaîne binaire avec le le chiffre le plus à droite est le bit le moins significatif
  • Enfin, nous concaténons les résultats de b) et c) pour obtenir l'encodage de d

Enfin, nous concaténons tous les résultats des nombres obtenus de n.

Donc l'encodage 2 est 0110 et 3 est 0111

Exemple

Voici le code -

const str = '77338855';
const encodeNumString = (str = '') => {
   const buildarray = (string = '') => {
      let n = string.split(''), res = '';
      n.forEach(x => {
         let num = Number(x).toString(2);
         num = '0'.repeat(num.length -1) + '1' + num;
         res += num;
      });
      return res;
   }
   const arr = [];
   let res = "";
   for (let i = 0; i < 10; i++){
      arr.push(buildarray(String(i)));
   };
   while (str.length){
      for (let i = 0; i < 10; i++) {
         if (str.startsWith(arr[i])) {
            res += String(i);
            str = str.slice(arr[i].length);
            break;
         }
      }
   }
   return res;
};
console.log(encodeNumString(str));
Copier après la connexion

Sortie

Voici la sortie de la console -

001111001111011101110001100000011000001101001101
Copier après la connexion

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:tutorialspoint.com
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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!