Distance de Hamming entre octets
Comptez les bits différents entre deux chaînes d'octets de même longueur.
def bit_distance(left, right):
if type(left) is not bytes or type(right) is not bytes:
raise ValueError("byte strings required")
if len(left) != len(right): raise ValueError("equal lengths required")
return sum((a ^ b).bit_count() for a, b in zip(left, right))| Vérifiez avant d’appliquer | Comparez le comportement observé au résultat attendu. Si une vérification échoue, cherchez la cause avant de poursuivre les modifications. |
|---|---|
| Modèles | Configurez un endpoint compatible OpenAI ou Anthropic avec son URL de base et une clé API si nécessaire. Testez la connexion. Un serveur local doit fonctionner ; les outils distants peuvent transmettre des données séparément. |
| Projet | Testez le vide et des octets opposés, en rejetant les longueurs différentes et les autres types sans modifier les entrées. |
def bit_distance(left, right):
if type(left) is not bytes or type(right) is not bytes:
raise ValueError("byte strings required")
if len(left) != len(right): raise ValueError("equal lengths required")
return sum((a ^ b).bit_count() for a, b in zip(left, right))Convenir de ce que compte une différence binaire
BitKestrel fournit un espace de programmation avec IA pour Windows où transformer une exigence précise en modification de code inspectable. Lorsqu’une comparaison binaire donne un résultat inattendu, apportez les entrées de test et le nombre attendu à la conversation du projet. Demandez au modèle connecté de repérer le calcul et d’expliquer ce qu’il compte actuellement avant de demander une correction.
Par exemple, une tâche peut exiger de compter les bits différents entre des chaînes d’octets de même longueur. Cela diffère du comptage des positions d’octets modifiées, et cette distinction compte pour les appelants interprétant le résultat. Précisez les types d’entrée acceptés, la politique pour les longueurs inégales et la réponse attendue pour des octets opposés. Gardez le consommateur existant visible lors de la discussion du changement.
Examinez le correctif sur une entrée vide, des valeurs identiques et un cas où plusieurs bits changent dans un octet. Utilisez vos tests pour vérifier que les longueurs rejetées suivent le circuit d’erreur voulu et que les entrées initiales restent intactes. Le résultat utile est l’accord entre le code, les cas de test et le sens du résultat, pas la brièveté.
Choisissez un point de terminaison compatible OpenAI ou Anthropic pris en charge pour fournir le modèle. S’il propose un modèle d’IA sans filtre, ce choix reste soumis aux conditions réelles du modèle et du serveur. Des identifiants peuvent être nécessaires, tandis que le contexte et les outils disponibles dépendent de la connexion. BitKestrel vous laisse la revue finale du code et la vérification du projet.
Définir une tâche de comparaison binaire
Comment distinguer le nombre de bits du nombre d’octets ?
Fournissez un cas où un octet diffère à plusieurs positions de bits et indiquez le résultat attendu. Demandez au modèle d’expliquer quelle quantité le code actuel renvoie. L’exigence devient ainsi concrète avant de modifier la routine ou ses appelants.
Que doit-il se passer si les entrées ont des longueurs différentes ?
Précisez la politique requise par l’application. La tâche illustrée rejette les longueurs inégales au lieu d’ignorer silencieusement les données sans correspondance. Incluez la gestion d’erreur attendue par l’appelant et vérifiez-la dans le projet afin que le rejet ne devienne pas une défaillance applicative inattendue.
Faut-il un cas de test pour une comparaison vide ?
Oui, si votre contrat accepte les chaînes d’octets vides. Précisez le nombre attendu et vérifiez-le directement. Ce petit cas aide aussi à révéler si le code proposé suppose au moins un élément ou modifie inutilement l’entrée.
Les données binaires de test peuvent-elles contenir des informations sensibles ?
Elles peuvent encoder des données confidentielles comme du texte. Préférez de courtes chaînes d’octets fictives reproduisant le problème de comptage. Partagez seulement le contexte nécessaire à la revue, en tenant compte du point de terminaison du modèle configuré et des services distincts utilisés par les outils connectés.
BitKestrel · Mis à jour 2026-10-25