Vérificateur de parité d'entier
Comptez les 1 d'un nombre en binaire et obtenez sa parité : 13 s'écrit 1101, avec trois 1, sa parité est donc impaire et le bit de parité vaut 1. Vous voyez aussi la chaîne binaire et le nombre de 1 et de 0. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- N
- 13
- Magnitude
- 13
- Binaire
- 1101
- Longueur en bits
- 4
- Nombre de uns
- 3
La parité d'un entier —selon que sa représentation binaire contient un nombre pair ou impair de bits à un— est un contrôle fondamental en théorie du codage, conception de sommes de contrôle et débogage bas niveau. Les étudiants qui apprennent le popcount, les ingénieurs qui vérifient des empaquetages de bits et les scripts d'automatisation qui ont besoin d'une réponse déterministe pair/impair sur les uns bénéficient d'un contrat unique qui n'invente jamais de bits à partir de bruit flottant.
Ce que signifie la parité des bits à 1 d'un entier et comment le popcount la définit
La parité des bits à 1 d'un entier est la parité de son population count : écrivez la magnitude en base deux, comptez combien de chiffres valent un, et réduisez ce total modulo deux. Lorsque le nombre d'uns est pair, l'entier a une parité paire et le bit de parité vaut zéro ; lorsque le nombre d'uns est impair, l'entier a une parité impaire et le bit de parité vaut un.
C'est la même idée structurelle qui sous-tend les contrôles de parité simples dans les systèmes de communication, le bit de poids faible d'un poids de Hamming, et les exercices de classe qui demandent si un nombre est de parité paire ou impaire en binaire —et non si le nombre lui-même est pair ou impair en quantité décimale—. Zéro est le binaire 0 avec zéro un, ce qui est une parité paire.
Les entrées négatives sont acceptées par commodité, mais l'expansion des bits utilise toujours la valeur absolue : moins treize partage le même nombre d'uns et la même parité que treize, et la réponse renvoie le n signé d'origine à côté de magnitude pour que les clients puissent afficher les deux. Cette règle de la valeur absolue évite d'inventer une largeur de mot machine pour le complément à deux, ce qui ferait reporter des parités différentes pour le même entier mathématique en trente-deux ou soixante-quatre bits.
L'algorithme est une courte boucle de décalages et de masques —ou tout popcount équivalent—, de sorte que la réponse est unique, sans effet de bord et identique sur tout runtime qui implémente les entiers sûrs de la même façon. Aucun appel réseau, graine aléatoire ni horloge murale ne participe au résultat.
Cas d’usage
Démos de codage et de détection d'erreurs
Échantillonnez la parité des uns de champs entiers empaquetés en enseignant des contrôles de parité simples avant CRC ou Hamming dans des carnets de laboratoire.
Notation automatique LMS et entretiens
Notez des items de parité popcount avec un oracle déterministe qui rejette les non-entiers et n'invente jamais de bits à partir de valeurs flottantes ou non sûres.
Questions fréquentes
Que se passe-t-il avec les entiers négatifs ?
Le n signé d'origine est renvoyé, mais le travail sur les bits utilise la valeur absolue (magnitude). Aucune largeur de complément à deux n'est supposée.
Est-ce la même chose que demander si n est un nombre pair ?
Non. Le pair/impair décimal ne regarde que la divisibilité par deux. La parité des bits à 1 regarde combien de bits 1 apparaissent dans l'expansion binaire. Exemple : 2 est un nombre pair, mais le binaire 10 a un bit à 1 (parité impaire).
En quoi cela diffère-t-il d'un calculateur de bit de parité ou du bit de Thue-Morse ?
Un outil de bit de parité ajoute ou vérifie un bit de parité sur une chaîne de bits ou un octet arbitraire. Thue-Morse nomme la suite t(n)=popcount(n) mod 2 pour des indices non négatifs. Ce vérificateur cible la parité des bits à 1 d'entiers pour des contrôles généraux de codage et de détection d'erreurs, y compris la gestion de magnitude signée et les champs de diagnostic.
Quelle est la parité de zéro ?
Paire. Zéro s'écrit 0 en binaire et ne contient aucun 1 ; un compte de zéro est pair, donc le bit de parité vaut 0. Selon la même règle, 10, qui s'écrit 1010 avec deux 1, a lui aussi une parité paire.
L'outil accepte-t-il les nombres à virgule ?
Non. Il n'accepte que des entiers, saisis comme nombre ou comme suite de chiffres. Une valeur à virgule est refusée au lieu d'être arrondie, afin qu'une correction automatique ne valide jamais une entrée qui n'est pas entière.
Outils associés
Pour les développeurs — accès API
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.
Endpoint
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é.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/dev/integer-parity \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":13}'const res = await fetch("https://api.kit.forhosting.com/dev/integer-parity", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 13
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/integer-parity",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 13
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/integer-parity", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":13}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":13}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/integer-parity", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"n": 13
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.integer_parity",
"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.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
Notes techniques
Ce vérificateur de parité d'entier accepte un entier n, travaille sur sa valeur absolue afin que les entrées signées en classe restent bien définies sans choisir une largeur arbitraire de complément à deux, renvoie la chaîne binaire, les comptages d'uns et de zéros, l'étiquette de parité (paire ou impaire) et le bit de parité zéro ou un, et rejette les non-entiers avec invalid_input pour que correcteurs et pipelines ne traitent jamais une charge fractionnaire comme un succès.
Ce que signifie la parité des bits à 1 d'un entier et comment le popcount la définit
Par exemple, treize est le binaire 1101 avec trois uns, donc ones_count vaut trois, parity vaut odd et parity_bit vaut un. Dix est le binaire 1010 avec deux uns, donc parity vaut even et parity_bit vaut zéro.
Contrat d'entrée, champs de réponse et comportement d'erreur
Envoyez en POST un corps JSON avec un seul champ obligatoire n : un entier, soit comme nombre JSON, soit comme chaîne de chiffres décimaux qui tient dans la plage des entiers sûrs de JavaScript (signe plus ou moins initial autorisé). Les alias value, number, integer et x sont acceptés lorsque n est omis, afin que widgets de formulaire et scripts rapides utilisent des libellés familiers. Si n manque, s'il y a des chaînes vides, des non-entiers, des nombres non finis ou des valeurs hors plage d'entiers sûrs, la tâche échoue avec invalid_input en nommant le problème ; ces échecs de validation ne sont pas facturés. En cas de succès le corps renvoie n, fournit magnitude comme valeur absolue utilisée pour le travail sur les bits, binary comme chaîne en base deux de cette magnitude sans préfixe 0b (zéro produit le seul caractère 0), bit_length comme longueur de cette chaîne, ones_count comme nombre de bits à un, zeros_count comme nombre de bits à zéro dans la même expansion, parity comme la chaîne even ou odd, parity_bit comme 0 ou 1, is_even_parity comme miroir booléen de la parité paire, et une courte chaîne formula rappelant que la parité égale le popcount de la valeur absolue de n modulo deux. Exemple : n égal à treize donne magnitude treize, binary 1101, bit_length quatre, ones_count trois, zeros_count un, parity odd, parity_bit un et is_even_parity false. Exemple : n égal à zéro donne binary 0, ones_count zéro, parity even et parity_bit zéro. Les clients qui n'ont besoin que d'un booléen peuvent lire is_even_parity ; les tuteurs peuvent afficher binary et ones_count à côté de la réponse pour que les étudiants audient le comptage. L'implémentation est pure parse de niveau A : pas de réseau, pas de jetons de modèle, pas de système de fichiers, et le même module peut s'exécuter sur le chemin gratuit du navigateur et sur le Worker de bord sans dérive de résultats.
Où un vérificateur de parité d'entier apporte de la valeur
Les carnets de firmware et de protocoles ont souvent besoin d'un oracle rapide pour savoir si un champ empaqueté a des uns pairs ou impairs lors de la conception de schémas de parité simples ou de la vérification de tables de vérité calculées à la main. Les outils de débogage et les générateurs de préparation aux entretiens peuvent appeler ce point d'extrémité pour produire des étiquettes pair/impair déterministes avec diagnostics binaires intermédiaires au lieu de coller du JavaScript ad hoc qui diverge sur zéro, sur les négatifs ou sur de grands entiers sûrs. Associez ce vérificateur à un outil distinct d'ajout de bit de parité lorsque vous devez attacher un bit de parité à une chaîne de bits arbitraire ; cette capacité se concentre sur l'entier lui-même et son nombre d'uns, intention de recherche d'un vérificateur de parité d'entier plutôt qu'un index de suite Thue-Morse ou un encodeur de chaînes de bits libre. Les cours de théorie du codage et de conception numérique utilisent la parité des bits à 1 pour introduire la détection d'erreurs avant les codes CRC ou Hamming complets ; une petite API permet aux plugins LMS de vérifier les réponses des étudiants pour des entiers arbitraires sans livrer une bibliothèque complète de manipulations de bits. Comme chaque appel réussi coûte le prix de base publié $0.002 sans jetons de modèle ni réseau sortant, qu'une validation échouée ne consomme pas le solde, et que l'algorithme est une poignée d'opérations bit à bit, vous obtenez des réponses de parité reproductibles pour les devoirs, la notation, les démos de checksum et les workers de bord sans déployer une infrastructure de codage plus lourde. Gardez les requêtes petites, documentez que n est un entier sûr et que magnitude pilote les bits, et traitez parity et parity_bit comme les champs de réponse canoniques pour les contrôles automatiques.
Cas d'intégration
Contrôles en classe et devoirs
Laissez les étudiants soumettre un entier n et vérifier la parité paire/impaire des bits à 1 face au popcount, avec binary et ones_count affichés pour un crédit partiel.
Questions techniques
Comment le vérificateur de parité d'entier décide-t-il entre pair et impair ?
Il compte les bits à un dans la forme binaire de |n| (popcount) et réduit modulo 2. ones_count pair → parity even et parity_bit 0 ; ones_count impair → parity odd et parity_bit 1.
Combien coûte le vérificateur de parité d'entier ?
L'outil navigateur est gratuit. Les requêtes API utilisent le solde prépayé KIT à $0.002 par appel réussi ; une entrée invalide n'est pas facturée.