1 00:00:07,220 --> 00:00:09,290 [Powered by Google Translate] NATE hardison: Trong các video trên nhị phân, chúng tôi cho thấy làm thế nào để 2 00:00:09,290 --> 00:00:12,540 đại diện cho tập hợp các số nguyên, từ con số không trở lên, 3 00:00:12,540 --> 00:00:15,110 chỉ sử dụng các chữ số không và một. 4 00:00:15,110 --> 00:00:17,890 Trong video này, chúng ta sẽ sử dụng ký hiệu nhị phân để 5 00:00:17,890 --> 00:00:21,160 đại diện cho các văn bản, thư từ và như vậy, cũng. 6 00:00:21,160 --> 00:00:22,810 >> Tại sao chúng ta bận tâm để làm điều này? 7 00:00:22,810 --> 00:00:25,450 Vâng, dưới mui xe, một máy tính chỉ thực sự 8 00:00:25,450 --> 00:00:29,070 hiểu số không và những người thân, các chữ số nhị phân, kể từ khi các 9 00:00:29,070 --> 00:00:32,100 có thể được đại diện một cách dễ dàng với những thứ điện. 10 00:00:32,100 --> 00:00:35,040 >> Ví dụ, suy nghĩ của bộ nhớ máy tính của bạn giống như một lâu 11 00:00:35,040 --> 00:00:37,810 chuỗi các bóng đèn, theo đó mỗi bóng cá nhân 12 00:00:37,810 --> 00:00:40,680 đại diện cho một số không nếu nó bị tắt, và một 13 00:00:40,680 --> 00:00:42,230 nếu nó được bật. 14 00:00:42,230 --> 00:00:44,730 Thay vì sử dụng một loạt các bóng đèn, một số hiện đại 15 00:00:44,730 --> 00:00:46,990 bộ nhớ thực hiện điều này bằng cách sử dụng tụ điện mà giữ mức thấp 16 00:00:46,990 --> 00:00:49,120 tính đại diện cho một số không và phí cao 17 00:00:49,120 --> 00:00:50,780 để đại diện cho một. 18 00:00:50,780 --> 00:00:52,510 >> Có những kỹ thuật khác là tốt. 19 00:00:52,510 --> 00:00:55,500 Dù sao, để lưu trữ bất cứ điều gì trong bộ nhớ, chúng ta cần 20 00:00:55,500 --> 00:00:57,590 đầu tiên chuyển đổi nó thành một cái gì đó có thể được thực sự 21 00:00:57,590 --> 00:01:00,140 đại diện trong các phần cứng vật lý. 22 00:01:00,140 --> 00:01:02,450 Vì vậy, chúng ta hãy suy nghĩ về việc làm thế nào chúng ta có thể đại diện cho các chữ cái với 23 00:01:02,450 --> 00:01:04,230 nhị phân ký hiệu. 24 00:01:04,230 --> 00:01:08,141 Trong tiếng Anh, chúng tôi đã có 26 chữ cái trong bảng chữ cái, A, 25 00:01:08,141 --> 00:01:12,930 >> B, C, D, và như vậy, thông qua Z. Chúng ta có thể chỉ định cho mỗi một trong 26 00:01:12,930 --> 00:01:16,650 những con số, số không đến 25, và sau đó sử dụng 27 00:01:16,650 --> 00:01:18,880 nhị phân ký hiệu, chúng ta có thể đại diện cho mỗi số như là một 28 00:01:18,880 --> 00:01:20,890 chuỗi các số không và những người thân. 29 00:01:20,890 --> 00:01:22,420 Đó không phải là quá xấu. 30 00:01:22,420 --> 00:01:25,050 Tuy nhiên, đó không phải là đủ. 31 00:01:25,050 --> 00:01:27,680 Với hệ thống này, chúng tôi có thể không thực sự phân biệt giữa 32 00:01:27,680 --> 00:01:29,830 trên và chữ thường. 33 00:01:29,830 --> 00:01:32,140 Nếu chúng ta muốn máy tính của chúng tôi để có thể phân biệt giữa 34 00:01:32,140 --> 00:01:36,020 hai trường hợp, sau đó chúng tôi cần phải có 26 số điện thoại khác. 35 00:01:36,020 --> 00:01:38,700 Và những gì về dấu chấm, dấu phẩy, và 36 00:01:38,700 --> 00:01:40,390 dấu chấm câu khác? 37 00:01:40,390 --> 00:01:43,560 >> Trên bàn phím của tôi, tôi đã có 32 của những người, bao gồm tất cả các 38 00:01:43,560 --> 00:01:46,800 ký tự đặc biệt như dấu nháy và dấu "và". 39 00:01:46,800 --> 00:01:49,700 Đó là không bao gồm các ký tự chữ số, không qua chín, 40 00:01:49,700 --> 00:01:51,840 kể từ khi chúng tôi vẫn muốn để có thể gõ số trong hệ thập phân 41 00:01:51,840 --> 00:01:54,840 ký hiệu trên máy tính, ngay cả khi máy tính chỉ thực sự 42 00:01:54,840 --> 00:01:57,830 hiểu chú giải nhị phân dưới mui xe. 43 00:01:57,830 --> 00:02:00,620 >> Và cuối cùng, chúng ta sẽ cần phải đại diện cho một nhân vật không gian 44 00:02:00,620 --> 00:02:02,450 rằng Bar Không gian của chúng tôi hoạt động. 45 00:02:02,450 --> 00:02:04,920 Vì vậy, để tìm ra cách để đại diện cho văn bản trên máy tính 46 00:02:04,920 --> 00:02:08,400 mất một ít nhiều hơn chúng ta có thể đã nghĩ ban đầu. 47 00:02:08,400 --> 00:02:11,710 Ngoài ra, giả sử chúng ta đến với mã hóa riêng của chúng tôi 48 00:02:11,710 --> 00:02:14,560 chương trình để đại diện cho các ký tự như số. 49 00:02:14,560 --> 00:02:17,470 Tuy nhiên, chúng tôi quyết định để mã hóa các ký tự chắc chắn sẽ được 50 00:02:17,470 --> 00:02:20,630 tùy ý, như chúng ta đã thấy trước đây khi chúng tôi nói chuyện về việc sử dụng 51 00:02:20,630 --> 00:02:23,730 số bằng không thông qua 25 đại diện cho các chữ cái A 52 00:02:23,730 --> 00:02:26,850 thông qua Z. Tại sao không sử dụng 10 đến 35 để chúng tôi có thể tiết kiệm 53 00:02:26,850 --> 00:02:29,350 không qua chín cho các ký tự chữ số? 54 00:02:29,350 --> 00:02:31,590 >> Không có lý do thực sự, chúng tôi chỉ chọn bất cứ điều gì dường như 55 00:02:31,590 --> 00:02:33,770 tốt nhất cho chúng ta. 56 00:02:33,770 --> 00:02:37,650 Trở lại đầu những năm 1960, đây là một vấn đề thực sự. 57 00:02:37,650 --> 00:02:39,370 Các nhà sản xuất máy tính khác đang sử dụng 58 00:02:39,370 --> 00:02:41,910 các chương trình mã hóa khác nhau, và thông tin liên lạc này được thực hiện 59 00:02:41,910 --> 00:02:44,340 giữa các máy khác nhau một nhiệm vụ rất khó khăn. 60 00:02:44,340 --> 00:02:47,810 Viện Tiêu chuẩn quốc gia Hoa Kỳ, ANSI, 61 00:02:47,810 --> 00:02:50,210 thành lập một ủy ban để phát triển một chương trình chung. 62 00:02:50,210 --> 00:02:53,780 Và vào năm 1963, American Standard Mã cho Thông tin 63 00:02:53,780 --> 00:02:58,600 Interchange, thường được gọi là ASCII, được sinh ra. 64 00:02:58,600 --> 00:03:01,360 >> ASCII được thiết kế như một bảy-bit mã hóa, mà 65 00:03:01,360 --> 00:03:03,800 có nghĩa là mỗi ký tự được đại diện bởi một sự kết hợp 66 00:03:03,800 --> 00:03:06,070 bảy số không và những người thân. 67 00:03:06,070 --> 00:03:09,670 Với những giá trị có thể, không hoặc một, cho mỗi 68 00:03:09,670 --> 00:03:14,040 trong bảy bit, có hai đến thứ bảy hoặc 128 69 00:03:14,040 --> 00:03:16,120 ký tự có thể được biểu thị bằng ASCII 70 00:03:16,120 --> 00:03:18,140 mã hóa đề án. 71 00:03:18,140 --> 00:03:21,480 Vì vậy, 128 ký tự âm thanh như rất nhiều, phải không? 72 00:03:21,480 --> 00:03:24,180 Vâng, hãy nhớ rằng có 26 chữ cái chữ thường trong 73 00:03:24,180 --> 00:03:29,260 Tiếng Anh, khác 26 chữ cái viết hoa, 10 ký tự chữ số, 74 00:03:29,260 --> 00:03:31,470 32 dấu chấm câu và ký tự đặc biệt, 75 00:03:31,470 --> 00:03:33,430 và một không gian nhân vật. 76 00:03:33,430 --> 00:03:37,050 >> Đặt chúng tôi vào 95, vì vậy chúng tôi có 33 ký tự khác mà chúng tôi 77 00:03:37,050 --> 00:03:38,400 có thể đại diện. 78 00:03:38,400 --> 00:03:39,900 >> Vì vậy, những gì còn lại? 79 00:03:39,900 --> 00:03:43,130 Vâng, trong những ngày của sự phát triển của ASCII, teletype 80 00:03:43,130 --> 00:03:45,080 máy móc, đó là máy đánh chữ được sử dụng để 81 00:03:45,080 --> 00:03:48,040 gửi tin nhắn qua mạng, đã được phổ biến. 82 00:03:48,040 --> 00:03:50,030 Và các máy này có ký tự bổ sung được sử dụng để 83 00:03:50,030 --> 00:03:52,890 kiểm soát chúng, ví dụ, nói với họ khi di chuyển 84 00:03:52,890 --> 00:03:57,620 in xuống một dòng, nguồn cấp dữ liệu dòng hoặc phím dòng mới, 85 00:03:57,620 --> 00:04:00,440 khi chuyển sang lề trái, trở về vận chuyển, 86 00:04:00,440 --> 00:04:04,890 hoặc đơn giản là trả lại chìa khóa, và khi quay trở lại một không gian, 87 00:04:04,890 --> 00:04:07,760 Backspace nhân vật, và như vậy. 88 00:04:07,760 --> 00:04:10,250 >> Các ký tự này được gọi là ký tự điều khiển, và họ 89 00:04:10,250 --> 00:04:12,680 tạo thành phần còn lại của các thiết lập ASCII. 90 00:04:12,680 --> 00:04:15,230 Vì vậy, nếu chúng ta nhìn vào một bảng mã ASCII, chúng ta thấy rằng người đầu tiên 91 00:04:15,230 --> 00:04:18,800 32 số, không thông qua ngày 31, được dành riêng cho kiểm soát 92 00:04:18,800 --> 00:04:20,200 ký tự. 93 00:04:20,200 --> 00:04:23,420 Nhưng chúng ta chỉ nói rằng có 33 ký tự điều khiển. 94 00:04:23,420 --> 00:04:24,780 Thỏa thuận là gì? 95 00:04:24,780 --> 00:04:29,350 , Số không và 127, là người đầu tiên và cuối cùng của 96 00:04:29,350 --> 00:04:32,560 ASCII thiết lập, có mẫu bit đặc biệt, tất cả các số không và tất cả 97 00:04:32,560 --> 00:04:34,710 những người, tương ứng. 98 00:04:34,710 --> 00:04:36,860 >> Các nhà thiết kế ASCII đã quyết định, do đó, để 99 00:04:36,860 --> 00:04:39,610 bảo tồn những con số này cho thêm các ký tự đặc biệt, 100 00:04:39,610 --> 00:04:43,310 cụ thể là các ký tự null và nhân vật DEL. 101 00:04:43,310 --> 00:04:46,340 Null và DEL được dự định để chỉnh sửa băng giấy, mà được sử dụng 102 00:04:46,340 --> 00:04:48,930 phải là một cách phổ biến của lưu trữ dữ liệu. 103 00:04:48,930 --> 00:04:51,850 Giấy băng là nghĩa đen chỉ là một dải giấy dài, và 104 00:04:51,850 --> 00:04:53,760 các khoảng thời gian định trước trên băng, bạn muốn đấm 105 00:04:53,760 --> 00:04:55,430 lỗ để lưu trữ dữ liệu. 106 00:04:55,430 --> 00:04:58,720 Tùy thuộc vào độ rộng của băng, mỗi cột sẽ là 107 00:04:58,720 --> 00:05:03,186 có thể chứa năm, sáu, bảy, tám bit. 108 00:05:03,186 --> 00:05:05,930 >> Đại diện cho một bit bằng không, bạn sẽ làm gì để băng, bạn muốn 109 00:05:05,930 --> 00:05:07,930 chỉ để lại một không gian trống. 110 00:05:07,930 --> 00:05:10,560 Đối với một một chút, bạn muốn một cái lỗ. 111 00:05:10,560 --> 00:05:12,980 Các ký tự null sẽ để lại một cột trống, 112 00:05:12,980 --> 00:05:14,480 chỉ ra tất cả các số không. 113 00:05:14,480 --> 00:05:17,250 Và nhân vật DEL sẽ đánh một cột đầy đủ các lỗ 114 00:05:17,250 --> 00:05:18,550 thông qua băng từ của bạn. 115 00:05:18,550 --> 00:05:21,300 Kết quả là, bạn có thể sử dụng các nhân vật DEL để xóa 116 00:05:21,300 --> 00:05:22,440 thông tin. 117 00:05:22,440 --> 00:05:25,060 Hãy tưởng tượng một lá phiếu bầu cử đầy ra và sau đó 118 00:05:25,060 --> 00:05:27,180 đấm tất cả các lỗ unpunched. 119 00:05:27,180 --> 00:05:29,410 >> Bạn mất hiệu lực của lá phiếu bởi vì nó không thể 120 00:05:29,410 --> 00:05:31,820 cho biết những gì phiếu ban đầu. 121 00:05:31,820 --> 00:05:34,720 Trong khi các nhân vật DEL vẫn được sử dụng hiện đại 122 00:05:34,720 --> 00:05:37,980 Phím Delete, các ký tự null được sử dụng làm 123 00:05:37,980 --> 00:05:40,010 chấm dứt ký tự cho chuỗi C và 124 00:05:40,010 --> 00:05:41,990 một số định dạng dữ liệu khác. 125 00:05:41,990 --> 00:05:45,140 Bạn có thể biết nó là ký tự không dấu gạch chéo ngược, 126 00:05:45,140 --> 00:05:47,720 vì đó là cách chúng tôi đại diện bằng văn bản. 127 00:05:47,720 --> 00:05:49,580 Vì vậy, sao bảng mã ASCII của chúng tôi. 128 00:05:49,580 --> 00:05:52,770 Sau 32 ký tự điều khiển đầu tiên đến là 95 129 00:05:52,770 --> 00:05:54,280 in được ký tự. 130 00:05:54,280 --> 00:05:55,800 >> Có một quyết định thiết kế mát mẻ giá trị 131 00:05:55,800 --> 00:05:57,330 nói về ở đây. 132 00:05:57,330 --> 00:06:00,810 Đầu tiên, các ký tự chữ số thập phân, không qua chín, 133 00:06:00,810 --> 00:06:04,050 tương ứng với các con số 48 đến 57, trong đó có vẻ 134 00:06:04,050 --> 00:06:06,980 không đáng kể cho đến khi chúng ta nhìn vào những con số 48 đến 57 135 00:06:06,980 --> 00:06:09,080 viết bằng ký hiệu nhị phân. 136 00:06:09,080 --> 00:06:11,530 Nếu chúng ta làm điều đó, thì chúng ta thấy rằng các ký tự chữ số, 137 00:06:11,530 --> 00:06:22,320 bằng không, tương ứng với 0110000, một bản đồ 0110001, hai 138 00:06:22,320 --> 00:06:26,640 0110010, và như vậy. 139 00:06:26,640 --> 00:06:27,950 Xem các mô hình? 140 00:06:27,950 --> 00:06:30,170 Mỗi ký tự chữ số được ánh xạ tương ứng của nó 141 00:06:30,170 --> 00:06:35,170 tương đương trong ký hiệu nhị phân, bắt đầu bằng 011. 142 00:06:35,170 --> 00:06:38,820 Tiếp theo, bạn nhận thấy rằng các chữ cái viết hoa bắt đầu ở tuổi 65, 143 00:06:38,820 --> 00:06:41,310 với chữ hoa A, nhưng chữ thường 144 00:06:41,310 --> 00:06:43,010 không bắt đầu cho đến 97. 145 00:06:43,010 --> 00:06:45,580 Vì vậy, có 32 khoảng trống ở giữa. 146 00:06:45,580 --> 00:06:47,000 Điều đó có vẻ lạ. 147 00:06:47,000 --> 00:06:49,500 Họ chỉ có 26 chữ cái trong bảng chữ cái. 148 00:06:49,500 --> 00:06:51,410 >> Tại sao tách chúng như thế này? 149 00:06:51,410 --> 00:06:53,960 Một lần nữa, nếu chúng ta nhìn vào các cơ quan đại diện nhị phân, chúng ta có thể 150 00:06:53,960 --> 00:06:55,230 thấy một mô hình. 151 00:06:55,230 --> 00:07:01,360 Chữ hoa được đại diện bởi 1000001, và chữ thường là 152 00:07:01,360 --> 00:07:05,810 đại diện 1.100.001. 153 00:07:05,810 --> 00:07:12,770 Chữ hoa B được đại diện bởi 1000010, và b là chữ thường 154 00:07:12,770 --> 00:07:17,280 đại diện 1.100.010. 155 00:07:17,280 --> 00:07:19,440 Bạn có thể cho biết những gì đang xảy ra ở đây? 156 00:07:19,440 --> 00:07:22,470 Các bit đó là lần thứ hai từ bên trái, trong hai. 157 00:07:22,470 --> 00:07:26,510 phần năm, cho vị trí 32ths, là 0 cho tất cả các chữ hoa 158 00:07:26,510 --> 00:07:30,120 chữ cái, và 1 cho tất cả các chữ thường. 159 00:07:30,120 --> 00:07:33,130 >> Điều đó có nghĩa là chuyển đổi từ chữ hoa chữ thường, và 160 00:07:33,130 --> 00:07:36,000 ngược lại, là một vấn đề của một flip bit đơn giản. 161 00:07:36,000 --> 00:07:38,380 Vì vậy, đó đưa chúng ta đến cuối của bảng mã ASCII. 162 00:07:38,380 --> 00:07:40,700 Bạn có thể nghĩ bất cứ điều gì chúng ta đã quên? 163 00:07:40,700 --> 00:07:42,510 Vâng, những gì về enye Tây Ban Nha, hoặc 164 00:07:42,510 --> 00:07:44,630 Hy Lạp hoặc bảng chữ cái Cyrillic? 165 00:07:44,630 --> 00:07:46,610 Và làm thế nào về ký tự Trung Quốc? 166 00:07:46,610 --> 00:07:49,050 Có rất nhiều đó là được của ASCII. 167 00:07:49,050 --> 00:07:51,920 Tuy nhiên, một được gọi là tiêu chuẩn Unicode đã được 168 00:07:51,920 --> 00:07:53,040 phát triển để trang trải tất cả các 169 00:07:53,040 --> 00:07:54,840 nhân vật và nhiều hơn nữa. 170 00:07:54,840 --> 00:07:57,040 >> Nhưng đó là một chủ đề cho một thời điểm khác. 171 00:07:57,040 --> 00:07:58,500 Tên là Nate hardison. 172 00:07:58,500 --> 00:08:00,650 Đây là CS50.