1 00:00:07,220 --> 00:00:09,290 [Powered by Google Translate] NATE HARDISON:バイナリ上のビデオでは、我々はどのようにするには、show 2 00:00:09,290 --> 00:00:12,540 アップ時にゼロから、整数の集合を表す、 3 00:00:12,540 --> 00:00:15,110 数字だけ0と1を使用しています。 4 00:00:15,110 --> 00:00:17,890 このビデオでは、我々はに2進表記を使用するつもりだ 5 00:00:17,890 --> 00:00:21,160 テキスト、文字などを表すだけでなく、。 6 00:00:21,160 --> 00:00:22,810 >> なぜ我々はこれを行うには気になる? 7 00:00:22,810 --> 00:00:25,450 さて、ボンネットの下に、コンピュータだけは本当に 8 00:00:25,450 --> 00:00:29,070 これら以降ゼロともの、2進数であることを、理解して 9 00:00:29,070 --> 00:00:32,100 電磁物事を簡単に表現することができます。 10 00:00:32,100 --> 00:00:35,040 >> 例えば、長いような、コンピュータのメモリを考える 11 00:00:35,040 --> 00:00:37,810 電球の文字列、それによって個々の電球 12 00:00:37,810 --> 00:00:40,680 それがオフになっている場合、ゼロを表し、1 13 00:00:40,680 --> 00:00:42,230 それがオンになっている場合。 14 00:00:42,230 --> 00:00:44,730 代わりに電球の束、いくつかの現代の使用 15 00:00:44,730 --> 00:00:46,990 メモリは、これは低ホールド·コンデンサを使用しない 16 00:00:46,990 --> 00:00:49,120 ゼロと高い電荷を表すために充電 17 00:00:49,120 --> 00:00:50,780 1を表すことができます。 18 00:00:50,780 --> 00:00:52,510 >> 他の技術もあります。 19 00:00:52,510 --> 00:00:55,500 とにかく、メモリに何を格納するために、我々は、する必要が 20 00:00:55,500 --> 00:00:57,590 第一、実際にすることができます何かに変換する 21 00:00:57,590 --> 00:01:00,140 物理的なハードウェアで表現。 22 00:01:00,140 --> 00:01:02,450 それでは、我々が文字を表すかもしれない方法について考えてみましょう 23 00:01:02,450 --> 00:01:04,230 進数表記。 24 00:01:04,230 --> 00:01:08,141 英語では、アルファベットで26文字、持っている 25 00:01:08,141 --> 00:01:12,930 >> A、B、C、Dというように、AからZまでここまでは一人一人を割り当てることができます 26 00:01:12,930 --> 00:01:16,650 これらの数は、25を介してゼロ回答をしてから使用して 27 00:01:16,650 --> 00:01:18,880 進表記は、我々は次のようにそれぞれの番号を表すことができます 28 00:01:18,880 --> 00:01:20,890 0と1のシーケンス。 29 00:01:20,890 --> 00:01:22,420 それはあまりにも悪くはない。 30 00:01:22,420 --> 00:01:25,050 しかし、それは十分ではないだろう。 31 00:01:25,050 --> 00:01:27,680 このシステムでは、我々は実際に区別することはできません 32 00:01:27,680 --> 00:01:29,830 大文字と小文字。 33 00:01:29,830 --> 00:01:32,140 我々は、我々のコンピュータの違いを区別することができるようにしたい場合 34 00:01:32,140 --> 00:01:36,020 2例、次に我々は追加の26の番号が必要になる。 35 00:01:36,020 --> 00:01:38,700 そして、何についてのピリオド、カンマ、および 36 00:01:38,700 --> 00:01:40,390 他の句読点? 37 00:01:40,390 --> 00:01:43,560 >> 私のキーボードでは、私はすべてを含む、それらの32を持っている 38 00:01:43,560 --> 00:01:46,800 キャレットとアンパサンドなどの特殊文字。 39 00:01:46,800 --> 00:01:49,700 これは0から9までの数字文字を含めていない 40 00:01:49,700 --> 00:01:51,840 我々はまだ進数で数値を入力できるようにしたいので、 41 00:01:51,840 --> 00:01:54,840 コンピュータ上の表記であってもコンピュータだけは本当に場合 42 00:01:54,840 --> 00:01:57,830 ボンネットの下に2進表記を理解しています。 43 00:01:57,830 --> 00:02:00,620 >> そして最後に、我々はそう空白文字を表すために必要があるでしょう 44 00:02:00,620 --> 00:02:02,450 私たちのスペースバーが機能していること。 45 00:02:02,450 --> 00:02:04,920 だから、コンピュータ上でテキストを表現する方法を考え出す 46 00:02:04,920 --> 00:02:08,400 我々が当初考えられていたかもしれないよりもう少しかかります。 47 00:02:08,400 --> 00:02:11,710 さらに、我々はその後、我々自身のエンコーディングを思い付くと仮定 48 00:02:11,710 --> 00:02:14,560 数字などの文字を表現するためのスキーム。 49 00:02:14,560 --> 00:02:17,470 しかし、我々は文字が必然的になりますエンコードすることを決定 50 00:02:17,470 --> 00:02:20,630 我々は我々が使用して話をするとき、以前見たように、任意の 51 00:02:20,630 --> 00:02:23,730 数字は文字を表すために25を介してゼロ 52 00:02:23,730 --> 00:02:26,850 我々が保存できるように、10〜35を使用しないのはなぜAからZまで 53 00:02:26,850 --> 00:02:29,350 桁の文字の0〜9? 54 00:02:29,350 --> 00:02:31,590 >> 本当の理由はありません、私達はちょうど見えたものは何でも選ん 55 00:02:31,590 --> 00:02:33,770 私たちにとって最善。 56 00:02:33,770 --> 00:02:37,650 戻る1960年代初頭には、これは現実的な問題であった。 57 00:02:37,650 --> 00:02:39,370 別のコンピュータメーカーが使用していた 58 00:02:39,370 --> 00:02:41,910 異なる符号化方式、およびこの製通信 59 00:02:41,910 --> 00:02:44,340 異なるマシン間で非常に困難な作業です。 60 00:02:44,340 --> 00:02:47,810 米国規格協会ANSI、 61 00:02:47,810 --> 00:02:50,210 一般的なスキームを開発するための委員会を結成した。 62 00:02:50,210 --> 00:02:53,780 情報のため、1963年に、米国標準コード 63 00:02:53,780 --> 00:02:58,600 より一般的にはASCIIとして知られているインターチェンジは、生まれました。 64 00:02:58,600 --> 00:03:01,360 >> ASCIIは7ビットエンコーディングとして設計された 65 00:03:01,360 --> 00:03:03,800 各文字は組み合わせで表現されることを意味 66 00:03:03,800 --> 00:03:06,070 7 0と1の。 67 00:03:06,070 --> 00:03:09,670 それらの2つの可能な値を持つ、ゼロまたは1つの、それぞれについて 68 00:03:09,670 --> 00:03:14,040 7ビットで、第七または128に2つあります 69 00:03:14,040 --> 00:03:16,120 ASCII文字で表現できる文字 70 00:03:16,120 --> 00:03:18,140 符号化方式。 71 00:03:18,140 --> 00:03:21,480 だから、128文字は右、たくさんのように聞こえる? 72 00:03:21,480 --> 00:03:24,180 まあ、中に26小文字があることを覚えておいてください 73 00:03:24,180 --> 00:03:29,260 英語、別の26大文字、10桁の文字、 74 00:03:29,260 --> 00:03:31,470 32句読点および特殊文字は、 75 00:03:31,470 --> 00:03:33,430 と1つのスペース文字。 76 00:03:33,430 --> 00:03:37,050 >> それは95で私達を置くので、別の33文字を持っている我々 77 00:03:37,050 --> 00:03:38,400 表すことができます。 78 00:03:38,400 --> 00:03:39,900 >> だから何が残っているの? 79 00:03:39,900 --> 00:03:43,130 さて、ASCIIの発展の時代には、テレタイプ 80 00:03:43,130 --> 00:03:45,080 に使用されているタイプライターのあるマシン、 81 00:03:45,080 --> 00:03:48,040 ネットワーク経由でメッセージを送信、広がっていました。 82 00:03:48,040 --> 00:03:50,030 そして、これらのマシンは、使用される追加の文字を持っていた 83 00:03:50,030 --> 00:03:52,890 移動するときにそれらを伝えるために、例えば、それらを制御する 84 00:03:52,890 --> 00:03:57,620 ラインの下の印字ヘッド、改行または改行キー、 85 00:03:57,620 --> 00:04:00,440 左マージン、キャリッジリターンに移動するとき 86 00:04:00,440 --> 00:04:04,890 または単に鍵を返し、一つの空間を戻ってたとき、 87 00:04:04,890 --> 00:04:07,760 バックスペース文字、などなど。 88 00:04:07,760 --> 00:04:10,250 >> これらの文字は、制御文字と呼ばれ、アール 89 00:04:10,250 --> 00:04:12,680 ASCIIセットの残りの部分を構成している。 90 00:04:12,680 --> 00:04:15,230 我々はASCIIコード表を見ればそこで、我々は、その最初に見 91 00:04:15,230 --> 00:04:18,800 32数字、〜31のゼロは、制御のために予約されてい 92 00:04:18,800 --> 00:04:20,200 文字。 93 00:04:20,200 --> 00:04:23,420 しかし、我々はちょうど33の制御文字があったことを語った。 94 00:04:23,420 --> 00:04:24,780 どうなってるの? 95 00:04:24,780 --> 00:04:29,350 まあ、数字のゼロと127は、最初と最後の 96 00:04:29,350 --> 00:04:32,560 ASCII文字セット、特殊なビットパターンを持っている、すべてのゼロおよびすべて 97 00:04:32,560 --> 00:04:34,710 ものであった。 98 00:04:34,710 --> 00:04:36,860 >> ASCIIのデザイナーがに、したがって、決定した 99 00:04:36,860 --> 00:04:39,610 、余分な特殊文字のため、これらの数値を維持する 100 00:04:39,610 --> 00:04:43,310 すなわちヌル文字とDEL文字。 101 00:04:43,310 --> 00:04:46,340 NullとDELは古紙テープの編集のために意図されていた 102 00:04:46,340 --> 00:04:48,930 データを格納するための一般的な方法であること。 103 00:04:48,930 --> 00:04:51,850 紙テープは文字通り紙のほんの長いストリップであり、で 104 00:04:51,850 --> 00:04:53,760 テープ上に一定の間隔では、パンチだろう 105 00:04:53,760 --> 00:04:55,430 穴データを格納する。 106 00:04:55,430 --> 00:04:58,720 テープの幅に応じて、各列は次のようになります。 107 00:04:58,720 --> 00:05:03,186 5、6、7、または8ビットを収容することができる。 108 00:05:03,186 --> 00:05:05,930 >> ゼロのビットを表すために、あなたがしたい、テープに何もしないだろう 109 00:05:05,930 --> 00:05:07,930 ちょうど空白のままにしておきます。 110 00:05:07,930 --> 00:05:10,560 1ビットでは、穴を開けると思います。 111 00:05:10,560 --> 00:05:12,980 ヌル文字はただ、空白の列を残すだろう 112 00:05:12,980 --> 00:05:14,480 すべてゼロであることを示しています。 113 00:05:14,480 --> 00:05:17,250 とDEL文字は穴だらけ列を開けるであろう 114 00:05:17,250 --> 00:05:18,550 あなたのテープを介して。 115 00:05:18,550 --> 00:05:21,300 結果として、あなたは削除するDEL文字を使用することができます 116 00:05:21,300 --> 00:05:22,440 情報。 117 00:05:22,440 --> 00:05:25,060 その後、記入された選挙の投票用紙を取って想像してみて 118 00:05:25,060 --> 00:05:27,180 すべてunpunched穴を開ける。 119 00:05:27,180 --> 00:05:29,410 >> それはすることは不可能ですので、投票を無効 120 00:05:29,410 --> 00:05:31,820 オリジナルの票が何であったか教えてください。 121 00:05:31,820 --> 00:05:34,720 DEL文字がいまだに使われている一方で近代的です 122 00:05:34,720 --> 00:05:37,980 キーを削除し、ヌル文字は次のように使われるようになった 123 00:05:37,980 --> 00:05:40,010 C文字列の終了文字と 124 00:05:40,010 --> 00:05:41,990 いくつかの他のデータ形式。 125 00:05:41,990 --> 00:05:45,140 あなたは、バックスラッシュゼロの文字としてそれを知っているかもしれませんが、 126 00:05:45,140 --> 00:05:47,720 我々は、書面でそれを表す方法だからです。 127 00:05:47,720 --> 00:05:49,580 だから私たちのASCIIテーブルに戻る。 128 00:05:49,580 --> 00:05:52,770 最初の32個の制御文字は95来る後 129 00:05:52,770 --> 00:05:54,280 印刷可能な文字。 130 00:05:54,280 --> 00:05:55,800 >> 価値カップルクールなデザインの決定があります 131 00:05:55,800 --> 00:05:57,330 ここでの話。 132 00:05:57,330 --> 00:06:00,810 まず、10進の数文字、0〜9、 133 00:06:00,810 --> 00:06:04,050 数字に思える57から48に対応 134 00:06:04,050 --> 00:06:06,980 我々は、57までの数字で48を見て平凡まで 135 00:06:06,980 --> 00:06:09,080 進数で書かれた。 136 00:06:09,080 --> 00:06:11,530 我々はそれを行うなら、私たちは見ている数字、 137 00:06:11,530 --> 00:06:22,320 ゼロ、0110000に対応し、0110001への1つのマップ、2〜 138 00:06:22,320 --> 00:06:26,640 0110010など。 139 00:06:26,640 --> 00:06:27,950 パターンを参照してください? 140 00:06:27,950 --> 00:06:30,170 各桁の文字は、その対応にマップされ 141 00:06:30,170 --> 00:06:35,170 011で始まるバイナリ表記で同等。 142 00:06:35,170 --> 00:06:38,820 次は、あなたは、大文字は65から始まっていることに気付く 143 00:06:38,820 --> 00:06:41,310 大文字のAが、小文字で 144 00:06:41,310 --> 00:06:43,010 97まで開始されません。 145 00:06:43,010 --> 00:06:45,580 だから間に32のスペースがあります。 146 00:06:45,580 --> 00:06:47,000 それは奇妙な感じだ。 147 00:06:47,000 --> 00:06:49,500 彼らはアルファベットで26文字のみです。 148 00:06:49,500 --> 00:06:51,410 >> なぜ、このようにそれらを分割? 149 00:06:51,410 --> 00:06:53,960 我々はバイナリ表現を見れば、再び、我々はできる 150 00:06:53,960 --> 00:06:55,230 パターンを参照してください。 151 00:06:55,230 --> 00:07:01,360 1000001で表され、大文字、小文字となり 152 00:07:01,360 --> 00:07:05,810 1100001によって表される。 153 00:07:05,810 --> 00:07:12,770 大文字のBは1000010で表され、小文字のbがある 154 00:07:12,770 --> 00:07:17,280 1100010によって表される。 155 00:07:17,280 --> 00:07:19,440 あなたはここで何が起こっているのか教えてもらえますか? 156 00:07:19,440 --> 00:07:22,470 〜2で、左から2番目のビット 157 00:07:22,470 --> 00:07:26,510 32ths位置の五分の四は、大文字のすべてのための0である 158 00:07:26,510 --> 00:07:30,120 文字、小文字のすべてのための1。 159 00:07:30,120 --> 00:07:33,130 >> 大文字から小文字に変換して、つまり、 160 00:07:33,130 --> 00:07:36,000 その逆は、単純なビットフリップの問題である。 161 00:07:36,000 --> 00:07:38,380 だからそれはASCIIテーブルの終わりに私たちをもたらします。 162 00:07:38,380 --> 00:07:40,700 あなたは私たちが忘れてしまった何かを考えることができますか? 163 00:07:40,700 --> 00:07:42,510 さて、どうでしょうスペイン語enye、または 164 00:07:42,510 --> 00:07:44,630 ギリシャ語やキリル文字のアルファベット? 165 00:07:44,630 --> 00:07:46,610 そして、どのように漢字はどうですか? 166 00:07:46,610 --> 00:07:49,050 ASCIIの取り残されているのがたくさんある。 167 00:07:49,050 --> 00:07:51,920 ただし、Unicodeと呼ばれる別の規格ではあった 168 00:07:51,920 --> 00:07:53,040 これらのすべてをカバーするために開発 169 00:07:53,040 --> 00:07:54,840 文字と、より多くの。 170 00:07:54,840 --> 00:07:57,040 >> しかし、それは別の時の件名です。 171 00:07:57,040 --> 00:07:58,500 私の名前はネイトHardisonです。 172 00:07:58,500 --> 00:08:00,650 これはCS50です。