Notions de base binaire pour la programmation de c

Heureusement, vous ne devez pas programmer tout dispositif numérique en écrivant du code de bas niveau, en feuilletant des commutateurs ou des fils à souder. En effet, la programmation C d'aujourd'hui qui se passe à un niveau supérieur. Mais encore, au fond de la machine, ce type de codage de bas niveau continue. Vous êtes juste isolée de la soupe primordiale de uns et de zéros à partir de laquelle tous les logiciels augmente.

Sommaire

Introduction à binaire

Les chiffres binaires, ou morceaux, sont 1 et 0. Seul, ils sont feeble- mais en groupes, ils Muster grande puissance. Le stockage numérique utilise ces bits en groupes.

Groupements binaires
TermeC VariableMorceauxPlage de valeurs UnsignedGamme de valeur signée
Bit_Bool10 à 10 à 1
Octetcarboniser80 à 255-128-127
Motshort int160 à 65535-32 768 à 32 767
Longlong int320 à 4294967295-2147483648 2,147,483,647

L'avantage de regrouper les bits en octets, des mots, et ainsi de suite est que cela les rend plus faciles à manipuler. Le processeur peut mieux traiter l'information en morceaux. Comment morceaux obtiennent leurs valeurs est basée sur des puissances de 2.

Pouvoirs de 2
ExpressionValeur décimaleValeur binaire
2011
21210
224100
2381000
241610000
2532100000
26641000000
2712810000000

Vous voyez la plage de valeurs qui peuvent être stockées sur 8 bits ou 1 octet. Il est de la même gamme que vous pouvez trouver dans une variable char langage C. En effet, si vous faites le total Colonne 2, vous obtenez 255, qui est le nombre de bits dans un octet.

En fait, vous trouverez 256 valeurs possibles pour un octet, qui comprend le tout à zéro permutation. Voilà une valeur ainsi.

Ci-dessous montre comment les puissances de 2 dans la carte de stockage binaire. Tout comme décimales dans une augmentation de numération en base 10 par des puissances de 10, les bits dans une augmentation de nombre binaire par des puissances de 2, la lecture de droite à gauche.

image0.jpg

Chaque bit qui est mis, ou a la valeur 1, représente une puissance de deux: 25, 23, 21, et 20. Lorsque vous multipliez ces valeurs par leurs homologues décimales puis les additionner, vous obtenez la représentation décimale du binaire 00101011, qui est de 43.




Tout cela est bel et bon, mais s'il vous plaît ne pas le mémoriser!

  • Ne vous préoccupez pas de la traduction binaire en décimal valeurs- l'ordinateur fait ce travail pour vous tout le temps. En effet, l'ordinateur ne voit que binaire et puis affiche les nombres décimaux par courtoisie pour vos globes oculaires humains. Mais quand vous manipulez des valeurs binaires, il est utile de savoir ce qui se passe.

  • Modification de la valeur d'un bit à 1 est considéré comme réglant le bit.

  • Modification de la valeur d'un bit à 0 est appelée la réinitialisation d'un bit.

Comment afficher les valeurs binaires

Pour meilleur sens de marque des opérateurs de manipulation binaires du langage C, il permet de voir un nombre binaire en action. La fonction printf () n'a pas un caractère de conversion binaire, et la bibliothèque C ne héberge une fonction de sortie binaire. Non, pour afficher un nombre binaire, vous devez façonner votre propre fonction.

La binbin () Fonction présente une fonction de sortie binaire appelé binbin (). La fonction binbin (), à la ligne 15 dans la binbin () Fonction, avale une valeur int. Sa sortie est une chaîne représentant la valeur de int en chiffres binaires.

LA Binbin () FONCTION

#include char * binbin (int n) -int main () {int entrée-printf ("Entrez une valeur de 0 à 255:") -scanf ("% d", entrée) -printf ("% d est binaire% s n ", entrée, binbin (entrée)) - retour (0) -} char * binbin (int n) {bin static char [9] -int x-pour (x = 0 XLT; 8 x ++) {bin [x] = n 0x80? '1': '0'-n lt; lt; = 1-} bin [x] = ' 0'-retour (bin) -}

De manière générale, le contenu de la fonction binbin () apparaissent assez mystérieux. C'est bon.

Exercice 1: Tapez le code source à partir du binbin () Fonctionner dans un nouveau projet. Construire et exécuter quelques fois pour voir comment entiers apparaissent comme des nombres binaires.

Comme écrit dans Le binbin () Fonction, binbin () affiche seulement 8 bits de données, si le type de variable int stocke généralement beaucoup plus de bits.

Exercice 2: Modifiez la fonction binbin () de la binbin () Fonction de sorte qu'il affiche 16 bits de la valeur int. (Eh bien, techniquement, 16 bits est un short int.) Pour ce faire, vous devez modifier ces articles:

Ligne 9: modifier le texte afin que 65535 est spécifié au lieu de 255.

Ligne 17: Modifier la taille du tableau à 17 pour tenir compte de 16 caractères dans la sortie plus le 0 (caractère nul) à la fin de la chaîne.

Ligne 20: Réglez la valeur immédiate 8 dans le code à 16 pour tenir compte de l'ensemble des 16 personnages de la sortie.

Ligne 22: Remplacer la valeur 0x80 avec 0x8000. Ce changement rend le champ peu plus grand.

Construire Exercice 2. Lancez-le à quelques reprises pour voir ce que le champ de bits ressemble à des valeurs plus grandes.


» » » » Notions de base binaire pour la programmation de c