ForHosting KIT · Outils pour développeurs

Décalage arithmétique à droite d’un entier signé

Ce calculateur de décalage arithmétique à droite déplace les bits d’un entier signé et recopie le bit le plus significatif dans les positions libérées à gauche.

● BetaGratuit · dans votre navigateur
Utilisez-le depuis WebAPIE-mailTelegramApp bientôt

Choisissez une largeur, saisissez un entier décimal, hexadécimal ou binaire signé, puis indiquez le décalage. Le résultat fournit des valeurs décimales exactes et des motifs binaires complétés à la largeur choisie, sans dépendre de la taille implicite des entiers d’un langage.

Définissez d’abord la largeur signée

Un décalage arithmétique n’a de sens précis que si la largeur est connue. Les mêmes bits peuvent représenter une valeur positive à une largeur et négative à une autre, car le bit de poids fort porte le signe en complément à deux. Choisissez de 2 à 1024 bits et saisissez une valeur comprise dans l’intervalle signé correspondant. Le calculateur refuse les dépassements au lieu de tronquer silencieusement. Utilisez le décimal pour un nombre négatif, ou les préfixes 0x et 0b pour comparer un registre ou un champ binaire. Le motif d’entrée est complété afin que vous puissiez voir tous les bits.

Comprenez l’extension du signe

Un décalage logique insère toujours des zéros à gauche. Le décalage arithmétique répète le bit de signe : zéro pour une valeur positive ou nulle, un pour une valeur négative. Pour les nombres négatifs, l’effet numérique correspond à une division par une puissance de 2 arrondie vers moins l’infini : moins cinq décalé d’un rang donne moins trois. La sortie présente le résultat décimal, le motif binaire complet et `sign_bit`, qui indique le bit d’origine recopié.

Gérez les grands décalages avec exactitude

Un décalage nul ne modifie rien. Si le nombre de rangs atteint ou dépasse la largeur, seule l’extension du signe subsiste : zéro pour une valeur non négative et moins un pour une valeur négative. Ce choix évite le masquage du compteur pratiqué par certains processeurs. Les calculs emploient des entiers de précision arbitraire. Les résultats décimaux sont des chaînes, car JSON ne représente pas exactement tous les entiers sur 64, 128 ou 1024 bits. Analysez-les donc avec un type entier exact.

Vérifier une instruction signée

Comparez un émulateur, un compilateur ou un processeur à une opération de largeur explicite.

Déboguer un format binaire

Observez le comportement d’un champ signé lors d’une opération qui conserve son signe.

Expliquer le complément à deux

Affichez les motifs complets avec leurs interprétations décimales exactes.

Que fait un décalage arithmétique à droite ?

Il déplace les bits à droite et remplit les positions hautes avec le bit de signe initial.

Quelle différence avec un décalage logique ?

Le décalage logique insère des zéros ; l’arithmétique insère le signe et préserve les valeurs négatives.

Quels formats d’entrée sont acceptés ?

Utilisez du décimal signé, ou les préfixes 0x pour l’hexadécimal et 0b pour le binaire.

Que se passe-t-il si le décalage atteint la largeur ?

Le résultat vaut zéro pour une valeur non négative et moins un pour une valeur négative.

Pourquoi les valeurs décimales sont-elles des chaînes ?

Elles conservent les grands entiers exacts au-delà de la plage numérique sûre de JSON.

Quel est le prix d’un appel API ?

Chaque appel API coûte $0.002. La version navigateur emploie le même calcul déterministe.

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/arithmetic-shift-right

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/arithmetic-shift-right \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"value":"-42","width":8,"shift":3}'
{
  "value": "-42",
  "width": 8,
  "shift": 3
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev.arithmetic_shift_right",
  "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.

Consulter la documentation complète du KIT →