1 00:00:07,220 --> 00:00:09,290 [Powered by Google Translate] NATE HARDISON: Dans la vidéo binaire, nous montrons comment 2 00:00:09,290 --> 00:00:12,540 représenter l'ensemble des nombres entiers, à partir de zéro sur place, 3 00:00:12,540 --> 00:00:15,110 en utilisant uniquement les chiffres zéro et un. 4 00:00:15,110 --> 00:00:17,890 Dans cette vidéo, nous allons utiliser la notation binaire 5 00:00:17,890 --> 00:00:21,160 représentent textes, lettres et autres, ainsi. 6 00:00:21,160 --> 00:00:22,810 >> Pourquoi devrions-nous pris la peine de le faire? 7 00:00:22,810 --> 00:00:25,450 Eh bien, sous le capot, un ordinateur n'est vraiment 8 00:00:25,450 --> 00:00:29,070 comprend zéros et de uns, les chiffres binaires, puisque ceux-ci 9 00:00:29,070 --> 00:00:32,100 peuvent être aisément représentés avec des choses électromagnétiques. 10 00:00:32,100 --> 00:00:35,040 >> Par exemple, pensez à la mémoire de votre ordinateur comme un long 11 00:00:35,040 --> 00:00:37,810 chaîne d'ampoules, de sorte que chaque ampoule individuelle 12 00:00:37,810 --> 00:00:40,680 représente un zéro si il est désactivé, et un 13 00:00:40,680 --> 00:00:42,230 si elle est activée. 14 00:00:42,230 --> 00:00:44,730 Au lieu d'utiliser un tas d'ampoules, certains modernes 15 00:00:44,730 --> 00:00:46,990 mémoire ce que cela en utilisant des condensateurs qui détiennent une faible 16 00:00:46,990 --> 00:00:49,120 facturer pour représenter un zéro et une charge élevée 17 00:00:49,120 --> 00:00:50,780 de représenter un une. 18 00:00:50,780 --> 00:00:52,510 >> Il existe d'autres techniques aussi bien. 19 00:00:52,510 --> 00:00:55,500 Quoi qu'il en soit, afin de stocker quoi que ce soit dans la mémoire, il faut 20 00:00:55,500 --> 00:00:57,590 d'abord le convertir en quelque chose qui peut être fait 21 00:00:57,590 --> 00:01:00,140 représentés dans le matériel physique. 22 00:01:00,140 --> 00:01:02,450 Donc, nous devons penser à comment nous pourrions représenter les lettres avec 23 00:01:02,450 --> 00:01:04,230 notation binaire. 24 00:01:04,230 --> 00:01:08,141 En anglais, nous avons 26 lettres dans l'ordre alphabétique, A, 25 00:01:08,141 --> 00:01:12,930 >> B, C, D, et ainsi de suite, jusqu'à à Z. Nous pouvons assigner chacun des 26 00:01:12,930 --> 00:01:16,650 ceux-ci un certain nombre, disons zéro à 25, puis à l'aide 27 00:01:16,650 --> 00:01:18,880 notation binaire, on peut représenter chaque nombre sous forme de 28 00:01:18,880 --> 00:01:20,890 séquence de zéros et de uns. 29 00:01:20,890 --> 00:01:22,420 Ce n'est pas trop mauvais. 30 00:01:22,420 --> 00:01:25,050 Toutefois, cela ne va pas être suffisant. 31 00:01:25,050 --> 00:01:27,680 Avec ce système, nous ne pouvons pas fait la distinction entre les 32 00:01:27,680 --> 00:01:29,830 lettres majuscules et minuscules. 33 00:01:29,830 --> 00:01:32,140 Si nous voulons que notre ordinateur pour pouvoir faire la différence entre 34 00:01:32,140 --> 00:01:36,020 les deux cas, nous avons besoin de 26 autres numéros. 35 00:01:36,020 --> 00:01:38,700 Et que dire de points, virgules, et 36 00:01:38,700 --> 00:01:40,390 autres signes de ponctuation? 37 00:01:40,390 --> 00:01:43,560 >> Sur mon clavier, j'ai 32 de ceux-ci, y compris tous les 38 00:01:43,560 --> 00:01:46,800 caractères spéciaux tels que l'accent circonflexe et l'esperluette. 39 00:01:46,800 --> 00:01:49,700 C'est sans compter les caractères numériques, de zéro à neuf, 40 00:01:49,700 --> 00:01:51,840 puisque nous voulons toujours être en mesure de saisir des nombres en décimal 41 00:01:51,840 --> 00:01:54,840 la notation sur l'ordinateur, même si l'ordinateur n'est vraiment 42 00:01:54,840 --> 00:01:57,830 comprend notation binaire sous le capot. 43 00:01:57,830 --> 00:02:00,620 >> Et enfin, nous aurons besoin pour représenter un caractère espace pour 44 00:02:00,620 --> 00:02:02,450 que notre barre d'espace fonctionne. 45 00:02:02,450 --> 00:02:04,920 Donc, trouver comment représenter le texte sur l'ordinateur 46 00:02:04,920 --> 00:02:08,400 prend un peu plus que ce que nous aurait pu croire initialement. 47 00:02:08,400 --> 00:02:11,710 En outre, supposons que nous avons ensuite mis au point notre propre codage 48 00:02:11,710 --> 00:02:14,560 schéma pour représenter les caractères que des chiffres. 49 00:02:14,560 --> 00:02:17,470 Cependant nous décidons de coder les caractères seront inévitablement 50 00:02:17,470 --> 00:02:20,630 arbitraire, comme nous l'avons vu lorsque nous avons parlé de l'utilisation de la 51 00:02:20,630 --> 00:02:23,730 numéros de zéro à 25 pour représenter les lettres A 52 00:02:23,730 --> 00:02:26,850 à Z. Pourquoi ne pas utiliser 10 à 35, de sorte que nous pouvons sauver 53 00:02:26,850 --> 00:02:29,350 de zéro à neuf pour les caractères numériques? 54 00:02:29,350 --> 00:02:31,590 >> Il n'ya pas de véritable raison, nous n'avons pas choisi ce qui me semblait 55 00:02:31,590 --> 00:02:33,770 mieux pour nous. 56 00:02:33,770 --> 00:02:37,650 Retour au début des années 1960, ce fut un réel problème. 57 00:02:37,650 --> 00:02:39,370 Fabricants d'ordinateurs utilisant différents ont été 58 00:02:39,370 --> 00:02:41,910 schémas de codage différents, et cela rendait la communication 59 00:02:41,910 --> 00:02:44,340 entre les différentes machines d'une tâche très difficile. 60 00:02:44,340 --> 00:02:47,810 L'American National Standards Institute ANSI, 61 00:02:47,810 --> 00:02:50,210 formé un comité chargé d'élaborer un projet commun. 62 00:02:50,210 --> 00:02:53,780 Et en 1963, l'American Standard Code for information 63 00:02:53,780 --> 00:02:58,600 Interchange, plus communément connu sous le nom ASCII, est né. 64 00:02:58,600 --> 00:03:01,360 >> ASCII a été conçu comme un encodage sur sept bits, ce qui 65 00:03:01,360 --> 00:03:03,800 signifie que chaque caractère est représenté par une combinaison 66 00:03:03,800 --> 00:03:06,070 de sept zéros et de uns. 67 00:03:06,070 --> 00:03:09,670 Avec ces deux valeurs possibles, zéro ou un, pour chaque 68 00:03:09,670 --> 00:03:14,040 des sept bits, il existe deux à la septième ou 128 69 00:03:14,040 --> 00:03:16,120 caractères qui peuvent être représentés par la ASCII 70 00:03:16,120 --> 00:03:18,140 Schéma d'encodage. 71 00:03:18,140 --> 00:03:21,480 Donc 128 caractères ressemble beaucoup, non? 72 00:03:21,480 --> 00:03:24,180 Eh bien, rappelez-vous qu'il ya 26 lettres minuscules 73 00:03:24,180 --> 00:03:29,260 Anglais, 26 autres lettres majuscules, chiffres, 10 caractères 74 00:03:29,260 --> 00:03:31,470 32 signes de ponctuation et les caractères spéciaux, 75 00:03:31,470 --> 00:03:33,430 et un caractère d'espacement. 76 00:03:33,430 --> 00:03:37,050 >> Cela nous met à 95, donc nous avons encore 33 caractères que nous 77 00:03:37,050 --> 00:03:38,400 peut représenter. 78 00:03:38,400 --> 00:03:39,900 >> Alors qu'est-ce qui reste? 79 00:03:39,900 --> 00:03:43,130 Eh bien, à l'époque de l'élaboration d'ASCII, télétype 80 00:03:43,130 --> 00:03:45,080 machines à écrire, qui sont utilisés pour 81 00:03:45,080 --> 00:03:48,040 envoyer des messages à travers un réseau, étaient très répandues. 82 00:03:48,040 --> 00:03:50,030 Et ces machines avaient des caractères supplémentaires utilisés pour 83 00:03:50,030 --> 00:03:52,890 les contrôler, par exemple, de leur dire quand pour déplacer le 84 00:03:52,890 --> 00:03:57,620 la tête d'impression sur une ligne, le saut de ligne ou touche de ligne nouvelle, 85 00:03:57,620 --> 00:04:00,440 quand passer à la marge de gauche, le retour du chariot, 86 00:04:00,440 --> 00:04:04,890 ou tout simplement retourner la clé, et quand retourner un local, 87 00:04:04,890 --> 00:04:07,760 caractère de retour arrière, et ainsi de suite. 88 00:04:07,760 --> 00:04:10,250 >> Ces caractères sont appelés des caractères de contrôle, et ils 89 00:04:10,250 --> 00:04:12,680 constituer le reste de l'ensemble ASCII. 90 00:04:12,680 --> 00:04:15,230 Donc, si on regarde une table ASCII, on voit que le premier 91 00:04:15,230 --> 00:04:18,800 32 numéros, de zéro à 31, sont réservés pour la commande 92 00:04:18,800 --> 00:04:20,200 caractères. 93 00:04:20,200 --> 00:04:23,420 Mais nous venons de dire qu'il y avait 33 caractères de contrôle. 94 00:04:23,420 --> 00:04:24,780 Quel est le problème? 95 00:04:24,780 --> 00:04:29,350 Eh bien, le chiffre zéro et 127, le premier et le dernier de la 96 00:04:29,350 --> 00:04:32,560 Jeu ASCII, ont des configurations binaires spéciales, tous les zéros et les 97 00:04:32,560 --> 00:04:34,710 celles, respectivement. 98 00:04:34,710 --> 00:04:36,860 >> Les concepteurs de l'ASCII a donc décidé, à 99 00:04:36,860 --> 00:04:39,610 préserver ces chiffres pour les caractères spéciaux supplémentaires, 100 00:04:39,610 --> 00:04:43,310 à savoir le caractère nul et le caractère DEL. 101 00:04:43,310 --> 00:04:46,340 Nulle et DEL étaient destinés pour le montage du ruban de papier, qui a utilisé 102 00:04:46,340 --> 00:04:48,930 être un moyen de stockage de données commune. 103 00:04:48,930 --> 00:04:51,850 Bande de papier était littéralement juste une longue bande de papier, et à 104 00:04:51,850 --> 00:04:53,760 intervalles réguliers sur le ruban, vous coup de poing 105 00:04:53,760 --> 00:04:55,430 trous pour stocker les données. 106 00:04:55,430 --> 00:04:58,720 En fonction de la largeur de la bande, chaque colonne serait 107 00:04:58,720 --> 00:05:03,186 capable d'accueillir cinq, six, sept ou huit bits. 108 00:05:03,186 --> 00:05:05,930 >> Pour représenter un bit zéro, vous ne faites rien pour le ruban, vous feriez 109 00:05:05,930 --> 00:05:07,930 il suffit de laisser un espace vide. 110 00:05:07,930 --> 00:05:10,560 Pour un peu un, vous percez un trou. 111 00:05:10,560 --> 00:05:12,980 Le caractère nul aurait suffit de laisser une colonne vide, 112 00:05:12,980 --> 00:05:14,480 indiquant que des zéros. 113 00:05:14,480 --> 00:05:17,250 Et le caractère DEL doit perforer une colonne pleine de trous 114 00:05:17,250 --> 00:05:18,550 par le biais de votre bande. 115 00:05:18,550 --> 00:05:21,300 Par conséquent, vous pouvez utiliser le caractère SUPPR pour supprimer 116 00:05:21,300 --> 00:05:22,440 informations. 117 00:05:22,440 --> 00:05:25,060 Imaginez prendre un bulletin de vote rempli, puis sur 118 00:05:25,060 --> 00:05:27,180 poinçonner les trous non perforé. 119 00:05:27,180 --> 00:05:29,410 >> Vous invalider le scrutin, car il est impossible de 120 00:05:29,410 --> 00:05:31,820 dire ce que les voix originales étaient. 121 00:05:31,820 --> 00:05:34,720 Alors que le caractère DEL est encore utilisé est le moderne 122 00:05:34,720 --> 00:05:37,980 Touche Suppr, le caractère nul est venu à être utilisé comme 123 00:05:37,980 --> 00:05:40,010 caractère de fin de chaînes C et 124 00:05:40,010 --> 00:05:41,990 certains autres formats de données. 125 00:05:41,990 --> 00:05:45,140 Vous pouvez le savoir que le caractère barre oblique inverse zéro, 126 00:05:45,140 --> 00:05:47,720 puisque c'est la façon dont nous nous la représentons par écrit. 127 00:05:47,720 --> 00:05:49,580 Mais revenons à notre table ASCII. 128 00:05:49,580 --> 00:05:52,770 Après les 32 premiers caractères de contrôle venir le 95 129 00:05:52,770 --> 00:05:54,280 caractères imprimables. 130 00:05:54,280 --> 00:05:55,800 >> Il ya des décisions en couple design cool valeur 131 00:05:55,800 --> 00:05:57,330 parlons ici. 132 00:05:57,330 --> 00:06:00,810 Tout d'abord, les chiffres décimaux, de zéro à neuf, 133 00:06:00,810 --> 00:06:04,050 correspondent aux numéros 48 à 57, ce qui semble 134 00:06:04,050 --> 00:06:06,980 banale jusqu'à ce que nous regardons les chiffres 48 à 57 135 00:06:06,980 --> 00:06:09,080 écrite en notation binaire. 136 00:06:09,080 --> 00:06:11,530 Si nous faisons cela, nous voyons que le caractère numérique, 137 00:06:11,530 --> 00:06:22,320 zéro, correspond à 0110000, une des cartes pour 0110001, deux à 138 00:06:22,320 --> 00:06:26,640 0110010, et ainsi de suite. 139 00:06:26,640 --> 00:06:27,950 Voir le modèle? 140 00:06:27,950 --> 00:06:30,170 Chaque personnage chiffre est mappé sur son correspondant 141 00:06:30,170 --> 00:06:35,170 équivalent en notation binaire, avec le préfixe 011. 142 00:06:35,170 --> 00:06:38,820 Prochaine étape, vous remarquerez que les lettres majuscules commencer à 65 ans, 143 00:06:38,820 --> 00:06:41,310 avec A majuscule, mais les lettres minuscules 144 00:06:41,310 --> 00:06:43,010 ne commencent pas avant 97. 145 00:06:43,010 --> 00:06:45,580 Donc, il ya 32 places entre les deux. 146 00:06:45,580 --> 00:06:47,000 Cela semble bizarre. 147 00:06:47,000 --> 00:06:49,500 Ils sont seulement 26 lettres dans l'alphabet. 148 00:06:49,500 --> 00:06:51,410 >> Pourquoi les séparer comme ça? 149 00:06:51,410 --> 00:06:53,960 Encore une fois, si l'on regarde les représentations binaires, nous pouvons 150 00:06:53,960 --> 00:06:55,230 voir un modèle. 151 00:06:55,230 --> 00:07:01,360 Majuscule A est représenté par 1000001, et un minuscule est 152 00:07:01,360 --> 00:07:05,810 représenté par 1100001. 153 00:07:05,810 --> 00:07:12,770 Majuscules B est représenté par 1000010, et b minuscule est 154 00:07:12,770 --> 00:07:17,280 représenté par 1100010. 155 00:07:17,280 --> 00:07:19,440 Pouvez-vous dire ce qui se passe ici? 156 00:07:19,440 --> 00:07:22,470 Le bit qui est le deuxième à partir de la gauche, dans les deux à la 157 00:07:22,470 --> 00:07:26,510 cinquièmes, de la position 32ths, est égal à 0 pour l'ensemble de la majuscule 158 00:07:26,510 --> 00:07:30,120 lettres, et 1 pour toutes les lettres minuscules. 159 00:07:30,120 --> 00:07:33,130 >> Cela signifie que la conversion des majuscules aux minuscules, et 160 00:07:33,130 --> 00:07:36,000 vice-versa, est une question d'une bascule peu simple. 161 00:07:36,000 --> 00:07:38,380 Donc, cela nous amène à la fin de la table ASCII. 162 00:07:38,380 --> 00:07:40,700 Pouvez-vous penser à quelque chose que nous avons oublié? 163 00:07:40,700 --> 00:07:42,510 Eh bien, que dire de la enye espagnol, ou l' 164 00:07:42,510 --> 00:07:44,630 Alphabets cyrilliques ou grecs? 165 00:07:44,630 --> 00:07:46,610 Et que diriez-vous des caractères chinois? 166 00:07:46,610 --> 00:07:49,050 Il ya beaucoup qui a été laissé de côté de l'ASCII. 167 00:07:49,050 --> 00:07:51,920 Cependant, un autre standard Unicode a été appelé 168 00:07:51,920 --> 00:07:53,040 développé pour couvrir l'ensemble de ces 169 00:07:53,040 --> 00:07:54,840 personnages et bien plus encore. 170 00:07:54,840 --> 00:07:57,040 >> Mais c'est un sujet pour une autre fois. 171 00:07:57,040 --> 00:07:58,500 Mon nom est Nate Hardison. 172 00:07:58,500 --> 00:08:00,650 C'est CS50.