ForHosting KIT · Outils pour développeurs

Calculateur entier non signé → signé

255 sur 8 bits n'a que des uns : en signé, il vaut −1. Saisissez une valeur non signée et une largeur de 2 à 53 bits pour voir sa lecture en complément à deux, son motif binaire et le bit de poids fort. 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
255
Bits
8
Vous obtenez
Signé
-1
Non signé
255
Binaire
11111111
Min
-128

Une valeur telle que deux cent cinquante-cinq stockée sur huit bits est composée de uns uniquement ; en uint8 elle vaut deux cent cinquante-cinq, mais en int8 le bit de poids fort est actif et le même motif signifie moins un. Étudiants, développeurs embarqués et candidats à un entretien ont besoin d'un moyen rapide et déterministe de voir ce mappage pour toute largeur de deux à cinquante-trois bits sans compter les résidus à la main. Ce calculateur d'entier non signé vers signé accepte une valeur non négative et une largeur en bits, vérifie que la valeur tient dans la plage non signée de cette largeur, et renvoie la lecture signée en complément à deux avec le motif binaire exact et un indicateur clair du bit de poids fort. Un dépassement hors de zéro jusqu'à deux puissance largeur moins un est rejeté au lieu d'un enroulement silencieux.

Comment fonctionne la réinterprétation non signé vers signé en complément à deux

Fixez une largeur en bits w d'au moins deux. Tout motif de bits de longueur w peut se lire de deux façons. Comme entier non signé, c'est un entier u allant de zéro à deux puissance w moins un.

Comme entier signé en complément à deux, le même motif vaut u lorsque le bit de poids fort est à zéro, et u moins deux puissance w lorsque ce bit haut est actif. Cette seule règle explique pourquoi deux cent cinquante-cinq sur huit bits devient moins un, pourquoi cent vingt-huit devient moins cent vingt-huit (la valeur la plus négative sur huit bits) et pourquoi cent vingt-sept reste positif cent vingt-sept.

L'algorithme n'inverse jamais les bits un par un à la main : il compare u à deux puissance w moins un (le seuil de demi-plage), puis renvoie u inchangé ou soustrait le module complet deux puissance w. Zéro reste toujours zéro ; le motif de tous uns devient toujours moins un à toute largeur. Les valeurs doivent rester dans la plage des entiers sûrs de JavaScript pour que chaque chiffre reste exact lors de la sérialisation du résultat en nombre.

Les requêtes qui ne tiennent pas dans la plage non signée de la largeur choisie — par exemple deux cent cinquante-six sur huit bits — sont rejetées avec un message clair indiquant le maximum autorisé, plutôt que d'enrouler vers zéro et de masquer une erreur de cast que des étudiants ou des notes de firmware pourraient croire par accident.

Devoirs et laboratoires d'organisation des ordinateurs

Vérifiez ce que devient tout octet ou mot non signé sous un cast signé aux largeurs 8/16/32 bits, y compris le point médian du bit haut et les cas tous uns, face à un oracle partagé unique.

Journaux firmware et dumps de protocole

Réinterprétez des dumps de registres non signés comme deltas de capteurs signés ou décalages à largeur fixe lors de la relecture de journaux hexadécimaux ou décimaux.

Que signifie passer de non signé à signé en complément à deux ?

À largeur fixe w, le même motif de bits est soit la valeur non signée u dans [0, 2^w−1], soit la valeur signée u si le bit haut est à zéro, et u − 2^w si le bit haut est actif. Les bits ne changent pas ; seule l'interprétation change.

Pourquoi 255 est-il égal à −1 sur 8 bits ?

255 est le motif de tous uns. Avec le bit haut actif, le complément à deux définit la lecture signée comme 255 − 256 = −1. Le même motif de tous uns vaut −1 à toute largeur.

Quelle plage value doit-il respecter ?

Value doit être un entier non négatif dans [0, 2^bits − 1]. Les résultats signés se situent alors dans [−2^(bits−1), 2^(bits−1)−1].

Quelles largeurs de bits sont prises en charge ?

Largeurs de 2 à 53 inclus. Les largeurs courantes en cours sont 8, 16 et 32.

Combien coûte le calculateur d'entier non signé vers signé ?

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/dev/unsigned-to-signed

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/dev/unsigned-to-signed \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"value":255,"bits":8}'
{
  "value": 255,
  "bits": 8
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev.unsigned_to_signed",
  "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.

Lorsque vous convertissez un entier non signé en type signé de même largeur en bits, les langages modernes ne modifient pas les bits : ils les réinterprètent en complément à deux. Les appels API réussis utilisent le prix de base publié de $0.002 par élément.

Comment fonctionne la réinterprétation non signé vers signé en complément à deux

L'implémentation utilise une arithmétique entière exacte sans arrondi flottant, sans graines aléatoires, sans horloge murale et sans appels réseau, de sorte que des entrées identiques produisent toujours le même JSON.

Contrat d'entrée, forme de la réponse et comportement d'erreur

Si vous devez encoder un entier signé en chaîne de bits ou décoder une chaîne de bits déjà disponible, utilisez une page dédiée de convertisseur de complément à deux plutôt que de surcharger ce contrat de réinterprétation non signé vers signé. Envoyez par POST un corps JSON avec deux champs obligatoires : value, un entier non négatif à réinterpréter, et bits, la largeur de mot de deux à cinquante-trois. Value peut arriver comme nombre JSON ou comme chaîne de chiffres avec un plus initial optionnel ; les alias u, unsigned, n et number sont acceptés. Bits peut arriver comme nombre ou chaîne de chiffres ; les alias width, bit_width, nbits et w sont acceptés. Champs manquants, chaînes vides, NaN, Infinity, valeurs fractionnaires, valeurs négatives, largeurs hors de deux à cinquante-trois, et valeurs supérieures à deux puissance bits moins un échouent avec invalid_input et ne sont pas facturés. En cas de succès le corps répète value et bits, renvoie signed (la lecture en complément à deux), unsigned (le même résidu non négatif), binary (exactement bits caractères de zéro et un, bit haut à gauche), les booléens high_bit_set et is_negative, le min et max signés légaux pour la largeur, unsigned_max, et method égal à twos_complement_reinterpret. Vérifications classiques : value deux cent cinquante-cinq avec huit bits donne signed moins un et binary tout uns ; value cent vingt-huit avec huit bits donne signed moins cent vingt-huit ; et value quarante-deux avec seize bits reste positif quarante-deux avec des zéros en tête. 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 calculateurs non signé vers signé apportent de la valeur

Les cours d'informatique et de conception numérique introduisent le complément à deux lorsque les étudiants rencontrent pour la première fois les registres signés et la surprise qu'un grand octet non signé puisse signifier un petit nombre négatif sous un cast signé ; un oracle fiable qui renvoie la valeur signée, le motif de bits et un indicateur du bit haut accélère les clés de correction et les démos de laboratoire sans formules de tableur fragiles. La documentation de firmware embarqué et de protocoles liste des champs capteurs stockés comme dumps non signés dans des journaux qu'il faut relire comme décalages signés ou deltas de température sur huit ou seize bits, afin que les relecteurs vérifient le bit de signe d'un coup d'œil. Les notes de compilateurs et d'environnements d'exécution expliquent comment C, Java et Rust convertissent uint8 ou uint16 vers le type signé correspondant en réinterprétant les bits ; les tuteurs comparent les aides de cast des étudiants à un résultat signé de référence pour zéro, le point médian, le maximum non signé et tous uns. Comme cette capacité est un moteur parse pur, le tarif API est la base publiée de $0.002 par élément réussi et une validation échouée ne consomme pas le solde. Traitez la conversion bidirectionnelle entier signé vers binaire, les dumps uniquement hexadécimaux, les motifs de bits flottants IEEE et l'extension de signe entre largeurs inégales comme des intentions de recherche distinctes avec leurs propres pages, plutôt que d'étirer ce calculateur non signé vers signé au-delà de son périmètre honnête.

Fixtures de test pour aides de cast

Générez des valeurs signées de référence et des motifs de bits pour les tests unitaires d'aides de cast du langage sans calculer à la main les résidus de complément à deux.

Consulter la documentation complète du KIT →