ForHosting KIT · Outils pour développeurs

Convertisseur négabinaire

13 s'écrit 11101 en négabinaire, la base −2, dont les positions alternent 1, −2, 4, −8 et 16 : tout entier, négatifs compris, s'écrit avec seulement 0 et 1, sans signe moins. Convertissez du décimal vers le négabinaire et inversement. Gratuit dans votre navigateur.

  • Gratuit
  • Fonctionne dans votre navigateur
  • Sans inscription
  • Vos données restent sur votre appareil
Utilisez-le depuis WebAPIE-mailTelegramApp bientôt
Si vous saisissez
Valeur
13
Direction
To negabinary
Vous obtenez
Résultat
11101
Décimal
13
Négabinaire
11101
Alphabet
01

Un convertisseur négabinaire réécrit un entier signé entre la base 10 quotidienne et la base −2, le système positionnel dont la racine est moins deux et dont les seuls chiffres sont zéro et un. Parce que les puissances successives de −2 alternent entre valeurs positives et négatives, tout entier—positif, négatif ou zéro—possède une représentation unique sans bit de signe dédié ni largeur en complément à deux. Les étudiants en arithmétique machine, les auteurs d’énigmes et les ingénieurs qui explorent des systèmes de numération exotiques peuvent coller une valeur décimale ou une chaîne de bits, choisir encoder ou décoder, et recevoir un résultat déterministe avec l’entier décimal nettoyé, la chaîne négabinaire, le nombre de chiffres et l’alphabet fixe.

Comment fonctionnent l’encodage et le décodage négabinaires (base −2)

Le négabinaire est une notation positionnelle de racine moins deux. Chaque place est une puissance de −2 : la place des unités est (−2) à la puissance zéro, soit un ; la suivante est −2 ; puis quatre ; puis −8 ; puis seize ; et ainsi de suite, le signe alternant à mesure que l’exposant croît.

Les seuls symboles de chiffre sont zéro et un—le même alphabet que le binaire ordinaire—, mais les signes de place alternés font qu’une chaîne de uns et de zéros peut évaluer un total négatif sans aucun caractère moins en tête. Contrôles classiques : deux s’encode en un-un-zéro (car quatre moins deux égale deux), quatre en un-zéro-zéro, et moins un en un-un (car moins deux plus un égale moins un).

Pour encoder un entier décimal signé, prenez répétitivement le reste de la division par −2 et ajustez pour que chaque reste soit non négatif : si le reste serait −1 sous division tronquée, ajoutez deux au reste et reportez un sur le quotient suivant. Les chiffres sont collectés du moins significatif d’abord puis inversés pour la chaîne habituelle de gauche à droite, les zéros de tête étant retirés sauf pour le zéro lui-même.

Pour décoder, parcourez la chaîne de gauche à droite avec une accumulation de type Horner : multipliez le total courant par −2 et ajoutez le chiffre suivant. Un préfixe optionnel 0nb ou 0NB est retiré comme les outils binaires acceptent 0b, afin que les scripts puissent marquer clairement les littéraux en base moins deux. Les valeurs absolues doivent rester dans la plage des entiers sûrs de JavaScript pour que chaque chiffre reste exact à la sérialisation.

Si vous n’avez besoin que du binaire à base positive ou d’encodages en complément à deux de largeur fixe, ce sont des intentions de recherche distinctes avec leurs propres pages, plutôt que d’étirer ce convertisseur signé en base moins deux au-delà de son périmètre honnête.

Où un convertisseur négabinaire trouve vraiment son utilité

Les cours d’informatique introduisent les bases négatives pour montrer que bits de signe et complément à deux sont des choix de conception plutôt que des lois de la nature : une fois que les étudiants convertissent à la main quelques entiers négatifs, ils voient comment les valeurs de place alternées absorbent le signe dans les chiffres eux-mêmes.

Les générateurs de préparation d’examens et les plugins LMS ont besoin d’un oracle déterministe qui marque comme faux un décodage binaire ordinaire d’une chaîne destinée au négabinaire, et qui n’invente jamais un moins initial sur une chaîne de bits valide. Les ingénieurs logiciels qui écrivent des tests unitaires pour des composants d’affichage multi-bases génèrent des chaînes négabinaires attendues et affirment l’égalité aller-retour du décimal vers la base −2 et retour, y compris les cas limites négatifs que les convertisseurs binaires ordinaires rejettent.

Les concepteurs de jeux inventent des systèmes de numération alien sans glyphe de signe et ont besoin d’une conversion déterministe pour outils de lore et formats de sauvegarde. Traitez les dumps binaires ou hexadécimaux ordinaires, le complément à deux à largeur fixe, le code Gray et les tables de racines multi-bases qui s’arrêtent à trente-six comme des intentions de recherche distinctes avec leurs propres pages, plutôt que d’étirer ce convertisseur entier négabinaire au-delà de son périmètre honnête.

Leçons d’arithmétique en base négative

Convertissez les entiers de devoir entre base 10 et base −2 pour que les étudiants voient comment les signes de place alternés encodent les négatifs sans bit de signe.

Notation automatique d’examens et LMS

Notez les items d’encodage et de décodage négabinaires avec un oracle déterministe qui rejette les chiffres invalides et n’invente jamais un moins initial.

Qu’est-ce que le négabinaire ?

Le négabinaire est la base −2 : notation positionnelle de racine moins deux avec uniquement les chiffres 0 et 1. Les puissances de −2 alternent de signe, si bien que tout entier a une représentation unique sans bit de signe dédié.

Pourquoi n’y a-t-il pas de signe moins sur les résultats négatifs de la chaîne de bits ?

Les valeurs de place négatives (…, 16, −8, 4, −2, 1) encodent déjà le signe. Une chaîne telle que 11 signifie −2 + 1 = −1.

Comment convertir un nombre décimal en négabinaire à la main ?

Divisez par −2 encore et encore en gardant chaque reste à 0 ou 1 : si un reste vaut −1, ajoutez-lui 2 et reportez 1 sur le quotient. Lisez ensuite les restes du dernier au premier ; 13 donne 11101.

Comment reconvertir un nombre négabinaire en décimal ?

Additionnez les valeurs des positions où figure un 1, en partant de la droite : 1, −2, 4, −8, 16 et ainsi de suite. Pour 11101, cela fait 16 − 8 + 4 + 1, soit 13. Vous pouvez aussi multiplier le total courant par −2 et ajouter chaque chiffre de gauche à droite.

Puis-je convertir des fractions ou de très grands nombres ?

Non. Seuls les nombres entiers sont acceptés, avec un plus ou un moins initial facultatif ; les fractions et la notation scientifique sont refusées. Les valeurs jusqu'à 9007199254740991 en valeur absolue fonctionnent, pour que chaque chiffre du résultat reste exact.

Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.

POSThttps://api.kit.forhosting.com/enc/base-negabinary

Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.

curl -X POST https://api.kit.forhosting.com/enc/base-negabinary \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"value":"13","direction":"to_negabinary"}'
{
  "value": "13",
  "direction": "to_negabinary"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "enc.base_negabinary",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.

par requête$0.002

Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.

HTTPCodeSignification
401unauthorizedClé API absente ou invalide : vérifiez l’en-tête Authorization.
402insufficient_balanceSolde insuffisant : rechargez votre compte pour lancer cette tâche.
404unknown_typeType de tâche inconnu : vérifiez le champ type de votre requête.
429rate_limitedTrop de requêtes : ralentissez la cadence, puis réessayez.

Les chiffres invalides, l’entrée vide et les non-entiers échouent avec une erreur invalid_input claire plutôt qu’une mauvaise réponse silencieuse. Le tarif des appels API réussis est la base publiée de $0.002 par élément.

Comment fonctionnent l’encodage et le décodage négabinaires (base −2)

Un caractère invalide—espace, signe plus ou moins dans la chaîne de bits, chiffre deux ou plus, lettre ou ponctuation—interrompt avec invalid input en nommant le caractère fautif et sa position. L’algorithme n’utilise que l’arithmétique entière exacte : pas d’arrondi flottant, pas de graines aléatoires, pas d’horodatage d’horloge et pas d’appels réseau, de sorte que des entrées identiques produisent toujours le même JSON.

Ce que vous envoyez et ce que vous recevez

Envoyez deux champs obligatoires : value et direction. Les valeurs décimales absolues supérieures à Number.MAX_SAFE_INTEGER sont rejetées pour que les chiffres de bas ordre ne disparaissent pas en silence. Allers-retours classiques : treize s’encode en un-un-un-zéro-un et se décode à nouveau en treize, et moins cinq s’encode en un-un-un-un. Direction doit être to_negabinary lorsque value est un entier décimal signé, ou from_negabinary lorsque value est une chaîne de bits en base −2. Des alias sont acceptés pour que formulaires et scripts utilisent les noms qui conviennent à leur interface : value accepte aussi n, number, input, text, decimal, negabinary, bits et base_neg2 ; direction accepte aussi dir, mode et op, plus des synonymes courts tels que to, from, encode, decode, to_base_neg2, from_base_neg2, decimal_to_negabinary et negabinary_to_decimal. Pour to_negabinary, value peut être un entier JSON ou une chaîne de chiffres avec un plus ou moins optionnel en tête ; fractions, notation scientifique, mots nus, NaN, Infinity et chaînes vides échouent avec invalid_input et ne sont pas facturés. Pour from_negabinary, chaque caractère doit être zéro ou un après un préfixe 0nb optionnel ; tout autre caractère—y compris deux, trois, underscore, tiret, espace et un signe initial—échoue avec un message qui nomme le chiffre négabinaire invalide et sa position d’indice zéro. En cas de succès la réponse renvoie la chaîne value nettoyée, la direction normalisée, decimal comme nombre (négatif le cas échéant), negabinary comme la chaîne compacte en base −2, result comme la forme convertie principale (négabinaire à l’encodage, chaîne décimale au décodage), la chaîne d’alphabet 01, base à −2 et digit_count de la représentation négabinaire. Le tarif des appels API réussis est la base publiée de $0.002 par élément ; les échecs de validation ne consomment pas le solde prépayé.

Où un convertisseur négabinaire trouve vraiment son utilité

Les auteurs d’énigmes et de programmation compétitive posent des défis qui exigent d’imprimer ou d’analyser la base −2 sans appeler un système d’algèbre informatique complet ; une petite API de parse fournit les valeurs attendues pour tests d’exemple et clés privées. Comme cette capacité est un moteur de parse pur, le tarif API est la base publiée de $0.002 par élément réussi et l’échec de validation ne consomme pas le solde.

Clés d’énigmes et fixtures de tests

Générez des chaînes attendues en base −2 pour échantillons de programmation compétitive et tests d’UI multi-bases, y compris les cas limites négatifs.

Comment convertir un entier décimal en négabinaire ?

Envoyez direction to_negabinary et value comme un entier signé (entier JSON ou chaîne de chiffres avec +/− optionnel). L’API renvoie la chaîne de bits en base −2 dans les champs negabinary et result.

Comment décoder une chaîne négabinaire en décimal ?

Envoyez direction from_negabinary et value comme une chaîne de chiffres 0 et 1 seulement (préfixe 0nb optionnel). L’API renvoie l’entier décimal signé ; n’incluez pas de + ou − en tête de la chaîne de bits.

Que coûte le convertisseur négabinaire ?

L’outil du navigateur est gratuit. Les requêtes API utilisent le solde prépayé KIT à $0.002 par appel réussi ; l’entrée invalide n’est pas facturée.

Consulter la documentation complète du KIT →