ForHosting KIT · Convertisseurs d'unités

Convertisseur complément à deux

-5 sur 8 bits s'écrit 11111011, le motif exact que contient un registre, et 11111011 redonne -5. Les valeurs qui ne tiennent pas dans la largeur choisie, comme 128 sur 8 bits, sont refusées au lieu de reboucler. 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
-5
Mode de calcul
To binary
Nb de bits
8
Vous obtenez
Binaire
11111011
Non signé
251
Min.
-128
Max.
127

Le complément à deux est la manière standard dont les ordinateurs modernes stockent les entiers signés sur un nombre fixe de bits. Une valeur positive conserve sa forme binaire ordinaire complétée à gauche jusqu’à la largeur choisie ; une valeur négative est stockée comme le résidu modulaire de cet entier modulo deux à la puissance de la largeur, de sorte que le bit de poids fort agit comme indicateur de signe sans champ magnitude-signe séparé. Ce convertisseur prend un entier signé et une largeur de bits (huit, seize ou trente-deux) et renvoie la chaîne de bits exacte qu’un registre contiendrait, ou l’inverse : un motif de bits et une largeur deviennent la valeur décimale signée. Le dépassement hors de la plage légale pour cette largeur est rejeté au lieu d’envelopper en silence, ce qui garde honnêtes les corrigés et les notes de microprogramme.

Comment fonctionnent l’encodage et le décodage en complément à deux

Fixez une largeur de bits w d’au moins deux. Les entiers signés qui tiennent sont tous les entiers de moins deux à la puissance w moins un jusqu’à plus deux à la puissance w moins un, moins un. Zéro est tous les bits à zéro.

Une valeur non négative dans la plage s’écrit en chiffres binaires ordinaires et se complète de zéros à gauche jusqu’à exactement w bits. Une valeur négative n s’encode comme le résidu unique de n modulo deux à la puissance w dans ce même intervalle fermé de motifs : de façon équivalente, inversez chaque bit de la valeur absolue écrite sur w bits et ajoutez un, la recette classique « inverser et ajouter un » des cours d’organisation des ordinateurs.

Le décodage inverse la carte : lisez la chaîne de bits comme un entier non signé u entre zéro et deux à la puissance w moins un ; si le bit haut est à zéro, la valeur signée est u ; s’il est à un, c’est u moins deux à la puissance w. Les valeurs doivent rester dans la plage d’entiers sûrs de JavaScript pour que chaque chiffre reste exact à la sérialisation.

Les requêtes qui débordent la largeur — par exemple cent vingt-huit sur huit bits — sont rejetées avec un message clair listant le min et le max autorisés, au lieu d’envelopper vers un négatif erroné qu’un étudiant pourrait croire par accident.

Devoirs et TP d’organisation des ordinateurs

Vérifiez l’encodage et le décodage de valeurs signées aux largeurs 8/16/32 bits, y compris les dépassements, contre un seul oracle partagé pour les corrigés.

Documentation firmware et champs de protocole

Documentez les champs de registres signés et les deltas de capteurs comme chaînes de bits exactes en complément à deux à côté des valeurs décimales pour revue et mise en service.

Qu’est-ce que le complément à deux ?

C’est la représentation modulaire des entiers signés sur une largeur fixe w : les non négatifs utilisent le binaire ordinaire ; les négatifs utilisent (n mod 2^w) de sorte que le bit haut marque la moitié supérieure de la plage non signée. Addition et soustraction utilisent alors le même circuit que l’arithmétique modulaire non signée.

Quelle plage tient sur N bits ?

Le complément à deux signé de largeur w contient les entiers de −2^(w−1) à 2^(w−1)−1. Par exemple huit bits contiennent −128 à 127 ; seize bits contiennent −32768 à 32767.

Que se passe-t-il en cas de dépassement ?

Le convertisseur n’enveloppe pas en silence, donc les mauvaises réponses de devoirs et les bogues firmware cachés ne sont pas masqués.

Puis-je convertir dans les deux sens ?

L’aller-retour d’une valeur légale restaure toujours le même entier.

Quel est le coût ?

L’outil navigateur est gratuit et s’exécute en local.

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/fmt/twos-complement

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/fmt/twos-complement \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"mode":"to_binary","bits":8}'
{
  "mode": "to_binary",
  "bits": 8
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "fmt.twos_complement",
  "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.

min_bits2
max_bits64
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.

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 en complément à deux

L’algorithme est de l’arithmétique entière modulaire pure, sans arrondi en virgule flottante, sans graines aléatoires, sans horodatage ni 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

Vérifications classiques : valeur moins cinq sur huit bits donne un un un un un zéro un un, le décodage inverse de ce motif revient à moins cinq, et quarante-deux positif sur seize bits comme motif complété de zéros. Si vous n’avez besoin que de décimal vers binaire non signé sans largeur fixe, utilisez une autre page plutôt que de surcharger ce contrat de complément à deux. Envoyez un mode obligatoire, to_binary ou from_binary, un champ bits obligatoire pour la largeur de mot de deux à soixante-quatre, et une valeur signée ou une chaîne de bits selon le mode. Pour to_binary fournissez value comme entier JSON ou chaîne de chiffres avec signe optionnel ; les alias n, number, integer et signed sont acceptés. Pour from_binary fournissez binary comme chaîne de zéros et uns de longueur bits ; un préfixe zero-b optionnel et les espaces internes sont retirés. Mode ou bits manquants, valeurs non entières, caractères non binaires, mauvaise longueur, NaN, Infinity et dépassement hors de la plage de complément à deux échouent avec invalid_input et ne sont pas facturés. En succès la réponse renvoie mode et bits, la valeur signée, le motif binaire exact de longueur bits, le résidu non signé, le min et max légaux de la largeur, et method égal à twos_complement. 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ù les convertisseurs de complément à deux apparaissent dans le travail réel

Les cours d’informatique et de conception numérique introduisent le complément à deux lorsque les étudiants rencontrent les registres signés, les drapeaux d’ALU et l’idée que la soustraction est l’addition de l’inverse modulaire ; un oracle fiable qui renvoie le motif de bits exact et la plage légale accélère les corrigés et les démos de laboratoire sans formules fragiles en tableur. La documentation de microprogrammes embarqués et de protocoles liste les champs de capteurs signés, les deltas de température et les corrections d’offset stockés en mots de complément à deux de huit ou seize bits à côté de leurs dumps hex pour vérifier le bit de signe d’un coup d’œil. Les notes de compilateurs et de runtimes de langages expliquent comment int8, int16 et int32 se mappent sur des mots machine ; les tuteurs comparent le code d’empaquetage de l’étudiant à une chaîne de bits de référence pour zéro, moins un, le minimum négatif et le maximum positif de chaque largeur. 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. Traitez les chaînes binaires non signées sans largeur fixe, les dumps hex seuls et les motifs de bits IEEE en virgule flottante comme des intentions de recherche distinctes avec leurs propres pages, plutôt que d’étirer ce convertisseur à largeur fixe signée au-delà de sa portée honnête.

Fixtures de test pour le code d’empaquetage

Générez des motifs de bits golden et des contrôles de décodage inverse pour les tests unitaires de sérialiseurs int8/int16 sans compter les bits à la main.

Consulter la documentation complète du KIT →