1 00:00:00,000 --> 00:00:05,511 2 00:00:05,511 --> 00:00:08,510 DOUG LLYOYD: nombor Jadi perenambelasan, seolah-olah kita memerlukan satu lagi nombor asas 3 00:00:08,510 --> 00:00:09,970 skim bukan? 4 00:00:09,970 --> 00:00:13,000 Well, kebanyakan kebudayaan Barat, seperti yang anda mungkin sudah biasa, 5 00:00:13,000 --> 00:00:16,560 menggunakan asas system-- perpuluhan 10, untuk mewakili data numerik. 6 00:00:16,560 --> 00:00:20,520 Kami mempunyai angka 0, 1, 2, 3, 5, 6, 7,8,9. 7 00:00:20,520 --> 00:00:23,890 Dan jika memerlukan untuk mewakili nilai-nilai yang lebih tinggi daripada sembilan, 8 00:00:23,890 --> 00:00:26,800 kita boleh menggabungkan mereka digit menggunakan konsep nilai tempat. 9 00:00:26,800 --> 00:00:30,115 Jadi untuk 10, kita mempunyai 1 angka diikuti dengan angka 0 10 00:00:30,115 --> 00:00:32,240 dan kami intuitif memahami bahawa apa yang kita lakukan 11 00:00:32,240 --> 00:00:35,500 ada kita mendarab pertama 1 dengan 10, 12 00:00:35,500 --> 00:00:37,689 dan kemudian menambah 0 untuk sejumlah 10. 13 00:00:37,689 --> 00:00:40,480 Komputer melakukan sesuatu yang cukup sama, seperti yang anda mungkin biasa, 14 00:00:40,480 --> 00:00:42,409 dengan asas system-- binari 2. 15 00:00:42,409 --> 00:00:44,700 Perbezaannya ada yang bahawa terdapat hanya 2 digit 16 00:00:44,700 --> 00:00:46,770 bekerja with-- 0 dan 1. 17 00:00:46,770 --> 00:00:49,033 Dan sebagainya nilai tempat kami, dan bukan satu, 18 00:00:49,033 --> 00:00:52,600 sepuluh, seratus, ribu, kerana mereka akan berada dalam sistem perpuluhan, 19 00:00:52,600 --> 00:00:57,690 adalah satu, dua, empat, lapan, dan sebagainya. 20 00:00:57,690 --> 00:01:00,842 Berikut adalah perkara yang walaupun, mereka 0 dan 1, terutamanya 21 00:01:00,842 --> 00:01:03,800 jika kita menjadi ahli sains komputer dan kami melakukan banyak program 22 00:01:03,800 --> 00:01:06,924 atau bekerja dengan komputer, adalah akan akan melihat banyak nombor binari. 23 00:01:06,924 --> 00:01:11,660 Dan orang-0 dan 1 di rantai besar boleh menjadi sangat sukar untuk menghuraikan. 24 00:01:11,660 --> 00:01:16,610 Kita tidak boleh hanya melihat rentetan Ini 0 dan 1 dan semestinya tahu 25 00:01:16,610 --> 00:01:17,810 betul-betul apa yang ada. 26 00:01:17,810 --> 00:01:21,980 Tetapi ia masih berguna untuk dapat data nyata dalam cara yang sama 27 00:01:21,980 --> 00:01:23,480 bahawa komputer tidak. 28 00:01:23,480 --> 00:01:26,580 Kami mempunyai tanggapan ini daripada sistem perenambelasan, yang 29 00:01:26,580 --> 00:01:29,840 asas 16, bukan asas 10 atau asas 2. 30 00:01:29,840 --> 00:01:34,420 Yang bermaksud bahawa kita mempunyai 16 digit untuk bekerja dengan dan bukannya 10 atau 2. 31 00:01:34,420 --> 00:01:37,180 Dan ia yang lebih cara ringkas untuk menyatakan 32 00:01:37,180 --> 00:01:41,210 maklumat binari pada sistem komputer, ia lebih manusia difahami. 33 00:01:41,210 --> 00:01:43,520 Jadi kita mempunyai angka 0 hingga 9, dan kemudian 34 00:01:43,520 --> 00:01:49,480 kami juga mempunyai enam tambahan digits-- yang, b, c, d, e, dan f, yang mewakili 10, 35 00:01:49,480 --> 00:01:56,050 tanggapan kita 10, 11, 12, 13, 14 dan 15, dalam perpuluhan. 36 00:01:56,050 --> 00:01:59,787 Kadang-kadang, dengan cara itu, anda juga akan melihat ini melalui f sebagai modal A 37 00:01:59,787 --> 00:02:01,620 melalui F, yang merupakan cara saya cenderung untuk melakukannya. 38 00:02:01,620 --> 00:02:04,560 Ia hanya saya pilihan gaya, tetapi sama ada adalah baik, 39 00:02:04,560 --> 00:02:07,870 kedua-dua mereka mewakili cantik banyak perkara yang sama. 40 00:02:07,870 --> 00:02:09,090 >> Jadi mengapa sejuk perenambelasan? 41 00:02:09,090 --> 00:02:11,580 Mengapa kita perlu untuk menggunakan ini asas tambahan yang lain? 42 00:02:11,580 --> 00:02:14,310 Kita sudah ada 2 dan 10, mengapa kita perlu 16? 43 00:02:14,310 --> 00:02:21,650 Well 16 adalah kuasa 2, dan sebagainya setiap digit perenambelasan, 0 hingga f, 44 00:02:21,650 --> 00:02:25,440 sepadan dengan unik pesanan, atau perkiraan yang unik 45 00:02:25,440 --> 00:02:29,060 4 digit binari, 4 bit. 46 00:02:29,060 --> 00:02:34,570 Dan sebagainya dalam erti kata itu, kita dapat meluahkan sangat panjang, rumit, nombor perduaan 47 00:02:34,570 --> 00:02:36,440 dalam perenambelasan dalam banyak cara yang lebih ringkas, 48 00:02:36,440 --> 00:02:41,080 tanpa kehilangan maklumat atau perlu melakukan penukaran terutamanya rumit 49 00:02:41,080 --> 00:02:42,480 pada nombor-nombor. 50 00:02:42,480 --> 00:02:44,880 >> Jadi, seperti yang saya hanya berkata, setiap digit perenambelasan 51 00:02:44,880 --> 00:02:48,630 sepadan dengan unik susunan 4 digit binari. 52 00:02:48,630 --> 00:02:53,670 Jadi rentetan perduaan 0000 sepadan dengan perenambelasan digit 0. 53 00:02:53,670 --> 00:03:00,340 0110 sepadan dengan perenambelasan angka 6. 54 00:03:00,340 --> 00:03:05,225 Dan 1111 sepadan f perenambelasan angka. 55 00:03:05,225 --> 00:03:07,100 Jika anda sedang mencari di carta ini, terutamanya 56 00:03:07,100 --> 00:03:09,099 jika anda sedang mencari di Bahagian kiri carta, 57 00:03:09,099 --> 00:03:11,970 anda sudah boleh melihat ada satu sedikit masalah kekaburan di sini. 58 00:03:11,970 --> 00:03:15,229 Decimal 0 adalah cukup banyak dapat dibezakan dari perenambelasan 0, 59 00:03:15,229 --> 00:03:18,020 selain daripada fakta bahawa itu di bawah lajur yang mengatakan perenambelasan. 60 00:03:18,020 --> 00:03:22,130 >> Tetapi kita mungkin tidak akan sentiasa mempunyai ruang yang ada. 61 00:03:22,130 --> 00:03:25,420 Secara umumnya apabila kita menyatakan nombor ke dalam tatatanda perenambelasan 62 00:03:25,420 --> 00:03:28,130 untuk membezakan dengan jelas mereka daripada notasi perpuluhan, 63 00:03:28,130 --> 00:03:31,860 kita biasanya awalan mereka dengan awalan 0x itu. 64 00:03:31,860 --> 00:03:35,990 0x bermakna apa-apa pada hakikatnya, ia hanya petunjuk kepada kita sebagai manusia 65 00:03:35,990 --> 00:03:39,190 bahawa apa yang kita kira-kira untuk melihat, atau kira-kira untuk mula parsing, 66 00:03:39,190 --> 00:03:40,750 adalah nombor perenambelasan. 67 00:03:40,750 --> 00:03:45,590 Jelas sekali bagi digit yang lebih tinggi a, b, c, d, dan f, yang sesuai dengan 10-15 68 00:03:45,590 --> 00:03:48,840 ia cukup jelas bahawa yang itu adalah satu nombor perenambelasan. 69 00:03:48,840 --> 00:03:51,620 Dan sebenarnya, apa-apa perenambelasan nombor yang mempunyai huruf di dalamnya, 70 00:03:51,620 --> 00:03:54,642 mungkin cukup jelas sebagai nombor perenambelasan. 71 00:03:54,642 --> 00:03:56,350 Tetapi, masih, untuk demi kejelasan, ia 72 00:03:56,350 --> 00:03:58,290 sentiasa idea yang baik untuk awalan setiap kali anda 73 00:03:58,290 --> 00:04:01,835 merujuk kepada digit perenambelasan seperti yang nombor dengan awalan yang 0x. 74 00:04:01,835 --> 00:04:04,370 75 00:04:04,370 --> 00:04:06,810 >> Jadi, binari, seperti yang kita berkata, mempunyai nilai tempat. 76 00:04:06,810 --> 00:04:10,040 Ada tempat sa, tempat berdua-dua, tempat keempat kakinya, dan tempat yang lapan. 77 00:04:10,040 --> 00:04:13,640 Dan perpuluhan juga mempunyai nilai-nilai tempat, orang-orang, berpuluh-puluh, beratus-ratus, dan beribu-ribu 78 00:04:13,640 --> 00:04:15,910 bahawa kita semua masih ingat dari sekolah rendah. 79 00:04:15,910 --> 00:04:18,050 Dan perenambelasan ada pengecualian di sini, benar-benar. 80 00:04:18,050 --> 00:04:22,660 Ia juga mempunyai nilai tempat tetapi sebaliknya menjadi kuasa 2 atau kuasa 10, 81 00:04:22,660 --> 00:04:25,050 mereka kuasa 16. 82 00:04:25,050 --> 00:04:29,410 >> Oleh itu, kita melihat beberapa seperti kita ini cukup jelas tahu ia adalah 397, bukan? 83 00:04:29,410 --> 00:04:33,420 Baik jika kita melihat seperti ini, kita tahu ini bukan 397 lagi. 84 00:04:33,420 --> 00:04:36,730 Ini adalah perenambelasan nombor tiga 9-7. 85 00:04:36,730 --> 00:04:39,680 Ia bukan 397, ia bermakna sesuatu yang berbeza, 86 00:04:39,680 --> 00:04:44,180 kerana kita menggunakan kuasa 16 kerana semua nilai tempat kita dan bukannya kuasa 87 00:04:44,180 --> 00:04:45,560 10. 88 00:04:45,560 --> 00:04:50,570 Malah, nilai tempat di sini akan menjadi tempat orang, tempat sixteens itu, 89 00:04:50,570 --> 00:04:55,080 dan tempat dua 100-50-berenam, yang sesuai dengan idea kami daripada orang-orang yang 90 00:04:55,080 --> 00:04:59,180 tempat, berpuluh-puluh tempat, dan beratus-ratus tempat, jika jumlah itu 397. 91 00:04:59,180 --> 00:05:03,620 Tetapi oleh kerana ia 0x 397, kami mempunyai yang orang tempat tempat, sixteens, 92 00:05:03,620 --> 00:05:05,780 dan tempat dua ratus lima puluh-berenam. 93 00:05:05,780 --> 00:05:09,460 Atau, 16-0 tempat itu, iaitu 1. 94 00:05:09,460 --> 00:05:12,420 A 16 ke tempat kuasa pertama, 16. 95 00:05:12,420 --> 00:05:17,080 A 16 kuasa dua tempat, 256, dan sebagainya, dan sebagainya, dan sebagainya. 96 00:05:17,080 --> 00:05:24,400 Jadi nombor ini adalah benar-benar 3 kali 16 kuasa dua, tambah 9 kali 16, ditambah 7. 97 00:05:24,400 --> 00:05:28,980 Saya tidak melakukan matematik di sini, tetapi ia bukan 397, ia adalah lebih, jauh lebih besar daripada itu. 98 00:05:28,980 --> 00:05:34,050 >> Begitu juga, kita boleh mempunyai adc 0x, baik itu adalah satu kali 16 kuasa dua. 99 00:05:34,050 --> 00:05:38,220 Atau jika kita menterjemahkan kepada tanggapan kami nombor perpuluhan, itu 10 kali 100 00:05:38,220 --> 00:05:44,160 16 kuasa dua, ditambah d kali 16, atau ditambah 13 kali 16. 101 00:05:44,160 --> 00:05:47,410 Dan jangan bimbang jika anda tidak menghafal d iaitu 13, atau apa-apa seperti itu, 102 00:05:47,410 --> 00:05:49,201 tidak ada terlalu banyak ini digit surat 103 00:05:49,201 --> 00:05:52,820 dan ia akan menjadi intuitif cukup cepat. 104 00:05:52,820 --> 00:05:59,800 Jadi sekali lagi ini adalah 10 kali 16 kuasa dua, ditambah 13 kali 16, ditambah 12 kali 1. 105 00:05:59,800 --> 00:06:03,640 Adc Jadi 0x. 106 00:06:03,640 --> 00:06:07,750 >> Jadi, seperti yang saya katakan, setiap kumpulan 4 digit perduaan 107 00:06:07,750 --> 00:06:10,000 sepadan dengan satu digit perenambelasan, 108 00:06:10,000 --> 00:06:12,570 dan sebagainya ia sebenarnya benar-benar mudah untuk menukar ke belakang dan sebagainya 109 00:06:12,570 --> 00:06:14,690 antara hex dan binari. 110 00:06:14,690 --> 00:06:18,310 Jika anda mempunyai rentetan ini panjang digit binari, semua yang perlu anda lakukan 111 00:06:18,310 --> 00:06:21,320 yang mula mengumpulkan mereka betul ke kiri seperti kumpulan 4. 112 00:06:21,320 --> 00:06:26,550 Dan kemudian anda boleh menyatukan mereka kepada nombor perenambelasan, 113 00:06:26,550 --> 00:06:30,910 teruk menghadkan bilangan digit yang anda perlu memproses mental. 114 00:06:30,910 --> 00:06:33,680 Daripada 32 0 dan 1 ini, seperti yang kita akan lihat dalam kedua, 115 00:06:33,680 --> 00:06:37,630 anda mungkin boleh untuk mendapatkan ke bawah kepada hanya 8 digit perenambelasan, banyak 116 00:06:37,630 --> 00:06:39,200 lebih ringkas. 117 00:06:39,200 --> 00:06:43,500 >> Carta-carta yang slaid beberapa belakang akan membantu anda untuk memikirkan pemetaan ini, 118 00:06:43,500 --> 00:06:45,660 walaupun, sekali lagi anda akan menghafalnya cukup cepat. 119 00:06:45,660 --> 00:06:47,320 Kami akan pergi melalui contoh sekarang. 120 00:06:47,320 --> 00:06:51,507 Jadi, jika kita mempunyai bilangan yang seperti ini, nombor perduaan benar-benar besar ini, 121 00:06:51,507 --> 00:06:53,340 atau apa yang kelihatan sebagai nombor binari yang besar. 122 00:06:53,340 --> 00:06:56,260 Dan sebab itu saya mengatakan bahawa, itu hanya so-- ia raksasa binatang, bukan? 123 00:06:56,260 --> 00:06:58,959 Terdapat begitu banyak 0 dan 1 di sana. 124 00:06:58,959 --> 00:07:01,000 Tetapi kita mungkin tidak benar-benar mempunyai rasa apa 125 00:07:01,000 --> 00:07:02,870 magnitud nombor ini sebenarnya. 126 00:07:02,870 --> 00:07:06,150 Kami tidak mempunyai apa-apa idea apa yang ia akan sesuai dengan perpuluhan. 127 00:07:06,150 --> 00:07:09,744 Dan sebenarnya kita bahkan tidak akan melihat apa yang ia sepadan dengan dalam perpuluhan sekarang. 128 00:07:09,744 --> 00:07:11,660 Kita mungkin dapat daftar ini dengan cara yang 129 00:07:11,660 --> 00:07:15,640 akan memberikan kita beberapa maklumat lagi tentang betapa besar nombor ini. 130 00:07:15,640 --> 00:07:17,270 >> Oleh itu, marilah kita pergi ke proses penukaran. 131 00:07:17,270 --> 00:07:19,311 Perkara pertama yang kita perlu lakukan ialah kita mahu kumpulan 132 00:07:19,311 --> 00:07:23,050 angka ini keluar ke dalam kumpulan 4, bermula dari kanan 133 00:07:23,050 --> 00:07:24,120 dan bekerja ke kiri. 134 00:07:24,120 --> 00:07:27,260 Terdapat berada 32 digit di sini, yang bermakna kita perlu 135 00:07:27,260 --> 00:07:33,210 rehat yang bersih yang bagus 8 kumpulan 4. 136 00:07:33,210 --> 00:07:36,200 Ingatlah bahawa setiap kumpulan 4 di sini, unik sepadan 137 00:07:36,200 --> 00:07:37,760 kepada digit perenambelasan. 138 00:07:37,760 --> 00:07:42,080 Oleh itu, kita akan bermula sekali lagi membina kami nombor dari kanan, dan boleh digunakan dengan meninggalkan. 139 00:07:42,080 --> 00:07:44,890 Baik apa yang 1101? 140 00:07:44,890 --> 00:07:49,220 Baik kita melakukan matematik di dalam kepala kita, kita ada 1 di tempat lapan, satu 1 141 00:07:49,220 --> 00:07:54,310 di tempat keempat kakinya, seorang 0 dalam berdua-dua tempat, dan 1 di tempat sa. 142 00:07:54,310 --> 00:07:58,820 Itulah 8 ditambah 4 campur 1, yang kita tahu sebagai 13. 143 00:07:58,820 --> 00:08:02,400 Tetapi kita mungkin tidak akan menulis 13 daripada, kerana kita bekerja dengan perenambelasan. 144 00:08:02,400 --> 00:08:07,982 Kita perlu untuk menukar kepada perenambelasan bersamaan dengan 13, yang d. 145 00:08:07,982 --> 00:08:12,940 >> 0011, baik itu adalah satu 0 dalam tempat lapan, 0 dalam merangkak tempat, 146 00:08:12,940 --> 00:08:15,190 1 di tempat berdua-dua ini, dan 1 di tempat sa. 147 00:08:15,190 --> 00:08:16,880 Itulah 3. 148 00:08:16,880 --> 00:08:20,180 Maksud saya terus melakukan ini sekali lagi, kita ada di 9. 149 00:08:20,180 --> 00:08:23,850 Dan kemudian 11, tetapi itu b, ingat. 150 00:08:23,850 --> 00:08:30,570 2, 10-- atau a-- 6, dan 4. 151 00:08:30,570 --> 00:08:34,669 Dan supaya tali yang sangat besar 0 dan 1 ini bahagian atas 152 00:08:34,669 --> 00:08:38,549 adalah lebih ringkas dinyatakan dalam perenambelasan seperti 0x 46a2b93d. 153 00:08:38,549 --> 00:08:42,309 154 00:08:42,309 --> 00:08:45,870 >> Nah, OK, kita telah belajar yang baru kemahiran sejuk, apa gunanya? 155 00:08:45,870 --> 00:08:49,560 Kita mungkin tidak menggunakan ini semua masa, seperti yang kita akan lihat tidak lama lagi, 156 00:08:49,560 --> 00:08:52,370 kita menggunakan perenambelasan agak banyak sebagai pengaturcara. 157 00:08:52,370 --> 00:08:55,060 Bukan untuk keadaan yang tujuan melakukan matematik dengan itu, 158 00:08:55,060 --> 00:08:58,470 tetapi kerana banyak kali alamat ingatan dalam sistem kami 159 00:08:58,470 --> 00:09:00,440 diwakili dalam perenambelasan. 160 00:09:00,440 --> 00:09:04,390 Ia adalah satu cara yang sangat ringkas untuk menyatakan jika tidak rumit, nombor perduaan. 161 00:09:04,390 --> 00:09:06,440 Dan sebagainya, sekali lagi, anda boleh tidak-- anda mungkin 162 00:09:06,440 --> 00:09:07,640 tidak akan melakukan apa-apa matematik dengan itu, anda tidak 163 00:09:07,640 --> 00:09:09,848 akan menjadi mendarabkan nombor perenambelasan bersama-sama, 164 00:09:09,848 --> 00:09:11,770 atau melakukan apa-apa yang pelik seperti itu. 165 00:09:11,770 --> 00:09:16,120 Tetapi ia adalah satu kemahiran yang berguna untuk mempunyai supaya anda boleh meluahkan dan memahami 166 00:09:16,120 --> 00:09:23,290 alamat ingatan, dan lain-lain cara menggunakan data dalam C. 167 00:09:23,290 --> 00:09:26,240 >> Saya Doug Lloyd, ini adalah CS50. 168 00:09:26,240 --> 00:09:28,028