En 2 compléments je lis de wikipedia, la gamme est de -128 à 127. Donc je me demande comment on peut représenter 128 en 2 comme il est hors de gamme ci-dessus?comment représenter le nombre hors plage en binaire?
Répondre
Vous utilisez plus de bits.
La plage de -128 à +127 correspond à 256 valeurs uniques, soit 8 bits. Si vous avez besoin d'une plus grande gamme, vous avez besoin de plus de bits.
Il n'y a rien qui limite les nombres 2s-complément aux valeurs de 8 bits. Par exemple, un nombre de 2 bits en complément de 16 bits va de -32768 à +32767.
Mais j'ai entendu parler de la terminologie wrap-around? Utilise-t-il plus de bits dans le wrap-around? – root
N'est-il pas encore autorisé en 2-complément: 1 + 127 = 128? – root
Lorsque le bit le plus à gauche d'un nombre 2s-complément est défini, il s'agit d'un nombre négatif. Essentiellement, la moitié des nombres que vous pouvez représenter avec un certain nombre de bits est négative et l'autre moitié est non négative. "Wrapping around" est symétrique pour tout nombre binaire de taille 2s-complémentaire. –
Vous ne pouvez pas, si vous avez seulement 8 bits pour travailler avec. Sauf si vous êtes prêt à traiter traiter 1000 0000
comme à la fois − 128 et +128.
"traiter 1000 0000 comme -128 et +128": comment différencieriez-vous les deux? – Amro
Dépend du contexte. Si vous ajoutez, vous pouvez autoriser +128 comme résultat max, et inversement si vous soustrayez/décrémentez, vous pouvez autoriser -128 comme min. Je n'ai pas dit que c'était forcément une bonne idée, juste une possibilité. –
8 bits vous donne la gamme: [-2^7 , 2^7-1] = [-128,127]
En général, le complément de 2 à l'aide n bits peuvent représenter des nombres dans la gamme:
-2^(n-1) to +2^(n-1)-1
- 1. Comment représenter la transparence binaire?
- 2. Comment convertir un nombre flottant en binaire?
- 3. "indice de liste hors plage"
- 4. L'incantation d'un nombre hors plage à une énumération en C# ne génère pas d'exception
- 5. Comment représenter graphiquement le nombre d'auteurs par page dans MediaWiki?
- 6. comment représenter un nombre négatif à un tableau d'entiers?
- 7. Comment corriger l'erreur "Valeur hors plage ajustée pour la colonne"?
- 8. Conversion d'un nombre décimal en binaire
- 9. Crystal Reports Indice d'erreur hors plage
- 10. Comment convertir une chaîne binaire en nombre en Perl?
- 11. Comment convertir un nombre entier en chaîne binaire en C#?
- 12. sortie nombre entier binaire brut en php
- 13. comment vérifier la plage et le nombre d'enregistrements dans cette plage sans utiliser le curseur?
- 14. Indice d'erreur hors plage dans le script vbs
- 15. Gestion des entiers hors plage dans bash
- 16. Convertir un nombre en chaîne binaire
- 17. Comment déplacer un nombre binaire en remplissant MSB avec 1?
- 18. Comment convertir un nombre décimal en binaire et vice versa
- 19. comment obtenir le nombre magique d'un fichier binaire
- 20. Comment pouvons-nous convertir un nombre binaire en son nombre octal en utilisant C#?
- 21. Comment représenter un nombre supérieur à la valeur maximale
- 22. Convertir un nombre entier en binaire en C#
- 23. comment représenter un arbre de recherche binaire en tant que schéma de base de données?
- 24. La recherche binaire récursive Java jette hors des limites l'exception?
- 25. Produire un nombre aléatoire dans une plage en utilisant C#
- 26. (Java) Spécifie le nombre de bits (longueur) lors de la conversion d'un nombre binaire en chaîne?
- 27. comment puis-je représenter un paquet (flux binaire) dans une variable (C++)
- 28. pour obtenir le nombre d'images entre une plage horaire?
- 29. Convertir/Quantifier la plage flottante en entier Nombre
- 30. Comment faire pour convertir nombre (dec) en nombre binaire (bin) et de bin à dec?
http://en.wikipedia.org/wiki/Two% 27s_complement (Utilisez 8 octets pour représenter) – root
@tsubasa - vous semblez être bloqué sur l'idée que "2s complement" == "8 bits", mais ce n'est pas le cas. Êtes-vous coincé avec l'utilisation de 8 bits? – detly