1 00:00:00,000 --> 00:00:05,511 2 00:00:05,511 --> 00:00:08,510 DOUG LLYOYD: So hexadezimale Zahlen, als ob wir ein anderes Basenzahl 3 00:00:08,510 --> 00:00:09,970 Schema richtig? 4 00:00:09,970 --> 00:00:13,000 Nun, die meisten westlichen Kulturen, wie Sie wahrscheinlich nicht vertraut sind, 5 00:00:13,000 --> 00:00:16,560 verwenden Sie die Dezimalzahl system-- Basis 10, um numerische Daten zu repräsentieren. 6 00:00:16,560 --> 00:00:20,520 Wir haben die Ziffern 0, 1, 2, 3, 5, 6, 7,8,9. 7 00:00:20,520 --> 00:00:23,890 Und wenn wir brauchen, um zu vertreten Werte höher als neun, 8 00:00:23,890 --> 00:00:26,800 wir können diese Ziffern zu kombinieren mit dem Begriff der Stellenwert. 9 00:00:26,800 --> 00:00:30,115 Also für 10, haben wir eine 1 Ziffer gefolgt von einem 0-stellige 10 00:00:30,115 --> 00:00:32,240 und wir intuitiv verstehen dass das, was wir tun, 11 00:00:32,240 --> 00:00:35,500 es wir Multiplikation den ersten 1 bis 10, 12 00:00:35,500 --> 00:00:37,689 und dann Zugabe 0 für eine Gesamtzahl von 10. 13 00:00:37,689 --> 00:00:40,480 Computer etwas ziemlich zu tun ähnlich, wie Sie wahrscheinlich vertraut, 14 00:00:40,480 --> 00:00:42,409 mit dem binären system-- Basis 2. 15 00:00:42,409 --> 00:00:44,700 Der Unterschied wobei daß es nur 2 Ziffern 16 00:00:44,700 --> 00:00:46,770 um mit-- 0 und 1 zu arbeiten. 17 00:00:46,770 --> 00:00:49,033 Und so unseren Platz Werte, anstatt einem, 18 00:00:49,033 --> 00:00:52,600 zehn, hundert, tausend, wie sie würde im Dezimalsystem zu sein, 19 00:00:52,600 --> 00:00:57,690 sind ein, zwei, vier, acht und so weiter. 20 00:00:57,690 --> 00:01:00,842 Hier ist das Ding aber, jene 0 und 1en, insbesondere 21 00:01:00,842 --> 00:01:03,800 wenn wir als Informatiker und wir tun eine Menge Programmier 22 00:01:03,800 --> 00:01:06,924 oder die Arbeit mit Computern, würden zu werden, sehen eine Menge von binären Zahlen. 23 00:01:06,924 --> 00:01:11,660 Und die 0 und 1 in großen Ketten kann sehr schwierig zu analysieren sein. 24 00:01:11,660 --> 00:01:16,610 Wir können nicht einfach bei einer Reihe von aussehen 0 und 1 und unbedingt wissen, 25 00:01:16,610 --> 00:01:17,810 genau das, was es ist. 26 00:01:17,810 --> 00:01:21,980 Aber es ist immer noch nützlich zu können Express-Daten auf die gleiche Weise 27 00:01:21,980 --> 00:01:23,480 dass ein Computer tut. 28 00:01:23,480 --> 00:01:26,580 Wir haben diese Vorstellung von der Hexadezimal-System, das ist 29 00:01:26,580 --> 00:01:29,840 Basis 16 anstelle von Basis 10 oder Basis 2. 30 00:01:29,840 --> 00:01:34,420 Was bedeutet, dass wir 16 Stellen um anstelle von 10 oder 2 zu arbeiten. 31 00:01:34,420 --> 00:01:37,180 Und es ist eine sehr viel prägnant zum Ausdruck zu bringen 32 00:01:37,180 --> 00:01:41,210 binäre Informationen auf einem Computersystem, es ist viel mehr Menschen verständlich. 33 00:01:41,210 --> 00:01:43,520 So haben wir die Ziffern 0 bis 9, und dann 34 00:01:43,520 --> 00:01:49,480 wir haben auch diese zusätzlichen sechs digits-- ein, b, c, d, e und f, die 10 darstellen, 35 00:01:49,480 --> 00:01:56,050 unsere Vorstellung von 10, 11, 12, 13, 14 und 15 in dezimal. 36 00:01:56,050 --> 00:01:59,787 Manchmal, übrigens, werden Sie auch sehen, diese A bis F als Kapital A 37 00:01:59,787 --> 00:02:01,620 bis F, die der ist Weg Ich neige dazu, es zu tun. 38 00:02:01,620 --> 00:02:04,560 Es ist nur mein Wunsch Stil, aber entweder ist in Ordnung, 39 00:02:04,560 --> 00:02:07,870 sie beide ziemlich vertreten genau dasselbe. 40 00:02:07,870 --> 00:02:09,090 >> Also, warum ist hexadezimal cool? 41 00:02:09,090 --> 00:02:11,580 Warum brauchen wir, dies zu nutzen andere zusätzliche Basis? 42 00:02:11,580 --> 00:02:14,310 Wir haben bereits 2 und 10, warum brauchen wir 16? 43 00:02:14,310 --> 00:02:21,650 Wanne 16 eine Potenz von 2 und so jede hexadezimale Ziffer, 0 bis f, 44 00:02:21,650 --> 00:02:25,440 entspricht einer einzigartigen Bestellung, oder einzigartige Anordnung 45 00:02:25,440 --> 00:02:29,060 von 4 binären Ziffern, 4 Bit. 46 00:02:29,060 --> 00:02:34,570 Und so in diesem Sinne, wir ausdrücken können sehr lang, komplex, Binärzahlen 47 00:02:34,570 --> 00:02:36,440 hexadezimal in einem viel mehr prägnant, 48 00:02:36,440 --> 00:02:41,080 ohne Informationen zu verlieren oder zu müssen, tun besonders umständlich Konvertierungen 49 00:02:41,080 --> 00:02:42,480 auf diese Zahlen. 50 00:02:42,480 --> 00:02:44,880 >> So, wie ich bereits sagte, Jede Hexadezimalziffer 51 00:02:44,880 --> 00:02:48,630 entspricht einer einzigartigen Anordnung von 4 binären Ziffern. 52 00:02:48,630 --> 00:02:53,670 Also die Binär-String 0000 entspricht Hexadezimalziffer 0. 53 00:02:53,670 --> 00:03:00,340 0110 entspricht hexadezimale Ziffer 6. 54 00:03:00,340 --> 00:03:05,225 Und 1111 entspricht um hexadezimale Ziffer f. 55 00:03:05,225 --> 00:03:07,100 Wenn Sie suchen, diese Tabelle, vor allem 56 00:03:07,100 --> 00:03:09,099 Wenn man sich die gesuchte linken Seite des Diagramms, 57 00:03:09,099 --> 00:03:11,970 Sie können bereits sehen, es gibt eine Bit einer Mehrdeutigkeit Problem hier. 58 00:03:11,970 --> 00:03:15,229 Dezimal 0 ist ziemlich viel, nicht von hexadezimal 0, 59 00:03:15,229 --> 00:03:18,020 außer der Tatsache, dass es unter eine Spalte, die hexadezimale sagt. 60 00:03:18,020 --> 00:03:22,130 >> Aber wir werden wahrscheinlich nicht immer haben diese Spalte gibt. 61 00:03:22,130 --> 00:03:25,420 Im Allgemeinen, wenn wir zum Ausdruck Zahlen in Hexadezimalschreibweise 62 00:03:25,420 --> 00:03:28,130 deutlich zu unterscheiden sie vor dezimal, 63 00:03:28,130 --> 00:03:31,860 wir voran sie in der Regel mit dem Präfix 0x. 64 00:03:31,860 --> 00:03:35,990 0x bedeutet nichts in der Realität, es ist nur ein Anhaltspunkt für uns als Menschen 65 00:03:35,990 --> 00:03:39,190 dass das, was wir sind dabei, um zu sehen, oder etwa um das Parsen zu starten, 66 00:03:39,190 --> 00:03:40,750 eine Hexadezimalzahl ist. 67 00:03:40,750 --> 00:03:45,590 Offensichtlich bei den höheren Ziffern a, b, c, d und f, die zu 10-15 entsprechen 68 00:03:45,590 --> 00:03:48,840 es ist ziemlich eindeutig, das ist das ist eine hexadezimale Zahl. 69 00:03:48,840 --> 00:03:51,620 Und in der Tat, jede hexadezimale Zahl, Buchstaben in sich hat, 70 00:03:51,620 --> 00:03:54,642 ist wahrscheinlich ziemlich offensichtlich, als Hexadezimalzahl. 71 00:03:54,642 --> 00:03:56,350 Aber, noch für den Aus Gründen der Klarheit ist es 72 00:03:56,350 --> 00:03:58,290 immer eine gute Idee, voranstellen, jedesmal wenn Sie 73 00:03:58,290 --> 00:04:01,835 beziehen sich auf einen einstelligen als hexadezimale Nummer durch Voranstellen eines 0x. 74 00:04:01,835 --> 00:04:04,370 75 00:04:04,370 --> 00:04:06,810 >> So, binär, wie wir sagte, hat Platz Werte. 76 00:04:06,810 --> 00:04:10,040 Es gibt die diejenigen Ort, ein Ort, zu zweit, ein Ort, Vieren und eine Achter Platz. 77 00:04:10,040 --> 00:04:13,640 Und Nachkommastellen hat auch Platz Werte, die Einer, Zehner, Hunderte und Tausende 78 00:04:13,640 --> 00:04:15,910 dass wir alle erinnern kann von der Grundschule. 79 00:04:15,910 --> 00:04:18,050 Und hexadezimale keine Ausnahme ist hier, wirklich. 80 00:04:18,050 --> 00:04:22,660 Es hat auch Platz Werte, sondern des Seins Potenzen von 2 oder Vielfaches von 10, 81 00:04:22,660 --> 00:04:25,050 sie sind Kräfte des 16. 82 00:04:25,050 --> 00:04:29,410 >> So sehen wir eine Reihe wie dieses wir ziemlich deutlich weiß, es ist 397, oder? 83 00:04:29,410 --> 00:04:33,420 Nun, wenn wir sehen, eine Zahl wie diese, wir wissen, das ist nicht 397 mehr. 84 00:04:33,420 --> 00:04:36,730 Dies ist die hexadezimale Nummer 3-9 die Uhr. 85 00:04:36,730 --> 00:04:39,680 Es ist nicht 397, es bedeutet, etwas anderes, 86 00:04:39,680 --> 00:04:44,180 weil wir mit Potenzen von 16, da alle von unserem Platz Werte anstelle der Zuständigkeiten 87 00:04:44,180 --> 00:04:45,560 10. 88 00:04:45,560 --> 00:04:50,570 In der Tat, hier wäre der Ort Werte werden an der Einerstelle der sixteens Ort, 89 00:04:50,570 --> 00:04:55,080 und die zweihundertfünfzig Sechsen Ort, , um unsere Vorstellung von einem Einsen entsprechen 90 00:04:55,080 --> 00:04:59,180 Ort, Zehnerstelle, und ein Hundert Ort, wenn die Zahl war 397. 91 00:04:59,180 --> 00:05:03,620 Aber da es 0x 397, haben wir ein Ort, diejenigen, sixteens Ort, 92 00:05:03,620 --> 00:05:05,780 und eine zweihundertfünfzig Sechsen Ort. 93 00:05:05,780 --> 00:05:09,460 Oder eine 16 an die 0 Ort, der 1 ist. 94 00:05:09,460 --> 00:05:12,420 A 16 mit dem ersten Strom Stelle 16. 95 00:05:12,420 --> 00:05:17,080 A 16 quadriert Ort, 256, und usw., und so weiter, und so weiter. 96 00:05:17,080 --> 00:05:24,400 So ist diese Zahl wirklich 3 mal 16 squared plus 9 mal 16, plus 7. 97 00:05:24,400 --> 00:05:28,980 Ich habe nicht die Mathematik hier zu tun, aber es ist nicht 397, es ist viel, viel größer als die. 98 00:05:28,980 --> 00:05:34,050 >> Ähnlich könnte man 0x ADC, auch das ist ein mal 16 Quadrat. 99 00:05:34,050 --> 00:05:38,220 Oder wenn wir übersetzen, dass unsere Vorstellung von Dezimalzahlen, das ist 10 Mal 100 00:05:38,220 --> 00:05:44,160 16 quadriert plus d Zeiten 16 oder plus 13 mal 16. 101 00:05:44,160 --> 00:05:47,410 Und keine Sorge, wenn Sie nicht gespeichert haben daß d 13, oder so etwas, 102 00:05:47,410 --> 00:05:49,201 es gibt nicht zu viele dieser Brief Ziffern 103 00:05:49,201 --> 00:05:52,820 und es wird sich intuitive ziemlich schnell. 104 00:05:52,820 --> 00:05:59,800 Dies ist so, einmal 10 mal 16 quadriert, plus 13 mal 16, plus 12 mal 1. 105 00:05:59,800 --> 00:06:03,640 So 0x adc. 106 00:06:03,640 --> 00:06:07,750 >> Also, wie gesagt, jede Gruppe von 4 binären Ziffern 107 00:06:07,750 --> 00:06:10,000 entspricht einem einzelnen hexadezimale Ziffer, 108 00:06:10,000 --> 00:06:12,570 und so ist es eigentlich wirklich leicht hin und her wechseln 109 00:06:12,570 --> 00:06:14,690 zwischen hex und binär. 110 00:06:14,690 --> 00:06:18,310 Wenn Sie diese lange Reihe von haben binären Ziffern, alles, was Sie tun müssen, 111 00:06:18,310 --> 00:06:21,320 wird beginnen direkt Gruppierung als Gruppen von 4 verlassen. 112 00:06:21,320 --> 00:06:26,550 Und dann haben Sie konsolidieren sie in hexadezimale Zahlen, 113 00:06:26,550 --> 00:06:30,910 die Anzahl der stark einschränken Ziffern, die Sie geistig zu verarbeiten. 114 00:06:30,910 --> 00:06:33,680 Anstelle von 32 0 und 1en, wie wir in einem zweiten zu sehen, 115 00:06:33,680 --> 00:06:37,630 Sie könnten in der Lage, es zu bekommen unten sein nur 8 hexadezimalen Ziffern, eine Menge 116 00:06:37,630 --> 00:06:39,200 prägnanter. 117 00:06:39,200 --> 00:06:43,500 >> Die Diagramme ein paar Dias Rücken wird Ihnen helfen, herauszufinden, diese Zuordnung, 118 00:06:43,500 --> 00:06:45,660 obwohl, du wirst wieder merken es ziemlich schnell. 119 00:06:45,660 --> 00:06:47,320 Wir werden durch ein Beispiel jetzt gehen. 120 00:06:47,320 --> 00:06:51,507 Also, wenn wir haben eine Reihe wie diese, das wirklich große binäre Zahl, 121 00:06:51,507 --> 00:06:53,340 oder was zu sein scheint eine große binäre Zahl. 122 00:06:53,340 --> 00:06:56,260 Und der Grund, warum ich sagen, dass, es ist nur SO- es ist ein Ungetüm, nicht wahr? 123 00:06:56,260 --> 00:06:58,959 Es gibt so viele 0 und 1 ist da. 124 00:06:58,959 --> 00:07:01,000 Aber wir wahrscheinlich nicht wirklich ein Gefühl dafür, was 125 00:07:01,000 --> 00:07:02,870 der Betrag dieser Zahl wirklich ist. 126 00:07:02,870 --> 00:07:06,150 Wir haben keine Ahnung haben, was es würde in eine Dezimalzahl entspricht. 127 00:07:06,150 --> 00:07:09,744 Und in der Tat werden wir nicht einmal sehen, was es entspricht in Dezimal jetzt. 128 00:07:09,744 --> 00:07:11,660 Wir könnten in der Lage zu sein, drücken dies in einer Weise, 129 00:07:11,660 --> 00:07:15,640 uns einige weitere Informationen geben würde, über, wie groß diese Zahl ist. 130 00:07:15,640 --> 00:07:17,270 >> Lassen Sie uns also in diesem Umwandlungsprozess zu gehen. 131 00:07:17,270 --> 00:07:19,311 Das erste, was wir brauchen, zu tun ist, wir wollen Gruppe 132 00:07:19,311 --> 00:07:23,050 diese Ziffern aus in Gruppen von 4, ausgehend von der rechten 133 00:07:23,050 --> 00:07:24,120 und arbeitet nach links. 134 00:07:24,120 --> 00:07:27,260 Es passieren zu 32 Ziffern lang sein hier, das heißt, wir haben 135 00:07:27,260 --> 00:07:33,210 ein schönes, sauberes Pause von 8 Gruppen von 4. 136 00:07:33,210 --> 00:07:36,200 Denken Sie daran, dass jede Gruppe von 4 Sie hier, eindeutig entspricht 137 00:07:36,200 --> 00:07:37,760 auf eine hexadezimale Ziffer. 138 00:07:37,760 --> 00:07:42,080 So sehen wir uns wieder mit dem Bau unserer Anzahl von rechts und die Arbeit überlassen. 139 00:07:42,080 --> 00:07:44,890 Nun, was ist 1101? 140 00:07:44,890 --> 00:07:49,220 Nun, wir haben die Mathematik in unserem Kopf, haben wir 1 in der Achter Platz, eine 1 141 00:07:49,220 --> 00:07:54,310 im Vieren Ort, eine 0 in den Zweien Ort und eine 1 in der Einerstelle. 142 00:07:54,310 --> 00:07:58,820 Das ist 8 plus 4 plus 1, die wir als 13 kennen. 143 00:07:58,820 --> 00:08:02,400 Aber wären wir wahrscheinlich nicht schreiben 13 heraus, weil wir mit hexadezimalen arbeiten. 144 00:08:02,400 --> 00:08:07,982 Wir müssen es in die hexadezimale umwandeln Äquivalent von 13, worin D. 145 00:08:07,982 --> 00:08:12,940 >> 0011, gut, das ist eine 0 in die Achter Platz, eine 0 in fours Ort, 146 00:08:12,940 --> 00:08:15,190 a 1 in der Zweier-Platz, und eine 1 in der Einerstelle. 147 00:08:15,190 --> 00:08:16,880 Das ist 3. 148 00:08:16,880 --> 00:08:20,180 Ich meine, zu halten, dies zu tun wieder, wir haben hier 9. 149 00:08:20,180 --> 00:08:23,850 Und dann 11, aber das ist b, Rückruf. 150 00:08:23,850 --> 00:08:30,570 2, 10-- oder a-- 6, und 4. 151 00:08:30,570 --> 00:08:34,669 Und so, dass sehr große Zeichenfolge von 0 und 1en des oberen 152 00:08:34,669 --> 00:08:38,549 wird prägnanter zum Ausdruck in Hexadezimaldarstellung als 0x 46a2b93d. 153 00:08:38,549 --> 00:08:42,309 154 00:08:42,309 --> 00:08:45,870 >> Na ja, OK, wir haben ein neues gelernt coole Fähigkeiten, was ist der Sinn? 155 00:08:45,870 --> 00:08:49,560 Wir könnten nicht diese alle Zeit, wie wir werden bald sehen, 156 00:08:49,560 --> 00:08:52,370 Wir verwenden hexadezimale ganz eine Menge, wie Programmierer. 157 00:08:52,370 --> 00:08:55,060 Nicht unbedingt für die Zweck Hören Mathematik mit ihm, 158 00:08:55,060 --> 00:08:58,470 sondern weil eine Menge Zeit Speicheradressen in unserem System 159 00:08:58,470 --> 00:09:00,440 sind hexadezimal dargestellt. 160 00:09:00,440 --> 00:09:04,390 Es ist eine wirklich knappe Weise, auszudrücken, sonst mühsam Binärzahlen. 161 00:09:04,390 --> 00:09:06,440 Und so, hier können Sie nicht-- Sie wahrscheinlich 162 00:09:06,440 --> 00:09:07,640 nicht irgendwelche Mathematik zu tun mit ihm, sind Sie nicht 163 00:09:07,640 --> 00:09:09,848 sein wird, multipliziert Hexadezimalzahlen zusammen, 164 00:09:09,848 --> 00:09:11,770 oder irgendetwas komisch wie das zu tun. 165 00:09:11,770 --> 00:09:16,120 Aber es ist eine nützliche Fähigkeit zu haben, so können Sie äußern und verstehen können, 166 00:09:16,120 --> 00:09:23,290 Speicheradressen und andere Wegen der Verwendung von Daten in C. 167 00:09:23,290 --> 00:09:26,240 >> Ich bin Doug Lloyd, ist dies CS50. 168 00:09:26,240 --> 00:09:28,028