1 00:00:00,000 --> 00:00:05,511 2 00:00:05,511 --> 00:00:08,510 DOUG LLYOYD: numrat hexadecimal Pra, sikur kishim nevojë për një numër tjetër bazë 3 00:00:08,510 --> 00:00:09,970 drejtë skemë? 4 00:00:09,970 --> 00:00:13,000 E pra, shumica e kulturave perëndimore, si ju ndoshta jeni të njohur, 5 00:00:13,000 --> 00:00:16,560 përdorin bazën decimal system-- 10, për të përfaqësuar të dhënat numerike. 6 00:00:16,560 --> 00:00:20,520 Ne kemi shifra 0, 1, 2, 3, 5, 6, 7,8,9. 7 00:00:20,520 --> 00:00:23,890 Dhe në qoftë se ne kemi nevojë për të përfaqësuar vlerat më të larta se nëntë, 8 00:00:23,890 --> 00:00:26,800 ne mund të kombinohen këto shifra duke përdorur nocionin e vlerës vend. 9 00:00:26,800 --> 00:00:30,115 Pra, për 10, ne kemi një 1 shifra e ndjekur nga një numër 0 10 00:00:30,115 --> 00:00:32,240 dhe ne e kuptojmë intuitive se çfarë jemi duke bërë 11 00:00:32,240 --> 00:00:35,500 ekziston ne jemi shumëzuar parë 1 nga 10, 12 00:00:35,500 --> 00:00:37,689 dhe pastaj duke shtuar 0 për një total prej 10. 13 00:00:37,689 --> 00:00:40,480 Kompjutera të bëjë diçka të bukur ngjashme, si ju ndoshta jeni njohur, 14 00:00:40,480 --> 00:00:42,409 me bazë binar system-- 2. 15 00:00:42,409 --> 00:00:44,700 Dallimi ka qenë se ka vetëm 2 shifra 16 00:00:44,700 --> 00:00:46,770 për të punuar with-- 0 dhe 1. 17 00:00:46,770 --> 00:00:49,033 Dhe kështu vlerat tona vend, në vend të qenë një, 18 00:00:49,033 --> 00:00:52,600 dhjetë, njëqind, mijë, pasi ata do të jetë në sistemin dhjetore, 19 00:00:52,600 --> 00:00:57,690 janë një, dy, katër, tetë, etj. 20 00:00:57,690 --> 00:01:00,842 Këtu është gjë edhe pse, ata 0 dhe 1, veçanërisht 21 00:01:00,842 --> 00:01:03,800 në qoftë se ne jemi duke u shkencëtarë kompjuter dhe ne jemi duke bërë një shumë të programimit 22 00:01:03,800 --> 00:01:06,924 ose duke punuar me kompjuterat, ishin duke shkuar që të shohim një shumë të numrave binar. 23 00:01:06,924 --> 00:01:11,660 Dhe ato të 0 dhe 1-së në zinxhirët e mëdha mund të jetë shumë e vështirë të kuptoj. 24 00:01:11,660 --> 00:01:16,610 Ne nuk mund vetëm të shikoni në një varg të 0 dhe 1 dhe domosdoshmërisht e di 25 00:01:16,610 --> 00:01:17,810 pikërisht ajo që është. 26 00:01:17,810 --> 00:01:21,980 Por është ende e dobishme të jetë në gjendje të dhënat e shprehin në të njëjtën mënyrë 27 00:01:21,980 --> 00:01:23,480 se një kompjuter ka. 28 00:01:23,480 --> 00:01:26,580 Ne kemi këtë nocion të Sistemi hexadecimal, i cili është 29 00:01:26,580 --> 00:01:29,840 bazë 16, në vend të 10 bazë ose baza 2. 30 00:01:29,840 --> 00:01:34,420 Që do të thotë se ne kemi 16 shifra për të punuar me vend të 10 ose 2. 31 00:01:34,420 --> 00:01:37,180 Dhe kjo është një shumë më të mënyrë koncize të shprehur 32 00:01:37,180 --> 00:01:41,210 informacion binar në një sistem kompjuterik, kjo është shumë më njerëzore të kuptueshme. 33 00:01:41,210 --> 00:01:43,520 Kështu që ne kemi shifra 0 deri ne 9, dhe pastaj 34 00:01:43,520 --> 00:01:49,480 ne gjithashtu kemi këto ekstra gjashtë digits-- një, b, c, d, e, dhe f, të cilat paraqesin 10, 35 00:01:49,480 --> 00:01:56,050 nocioni ynë i 10, 11, 12, 13, 14 dhe 15, në të dhjetore. 36 00:01:56,050 --> 00:01:59,787 Ndonjëherë, nga rruga, ju do të të shihni këto një pasim F si kryeqytet A 37 00:01:59,787 --> 00:02:01,620 me F, i cili është mënyrë unë kanë tendencë për të bërë atë. 38 00:02:01,620 --> 00:02:04,560 Ajo është vetëm e preferuar e mia stil, por as është e mirë, 39 00:02:04,560 --> 00:02:07,870 ata të dy përfaqësojnë goxha shumë të njëjtën gjë. 40 00:02:07,870 --> 00:02:09,090 >> Pra, pse është e ftohtë heksadecimal? 41 00:02:09,090 --> 00:02:11,580 Pse nuk kemi nevojë për të përdorur këtë baza e të tjera shtesë? 42 00:02:11,580 --> 00:02:14,310 Ne tashmë kemi 2 dhe 10, pse nuk kemi nevojë për 16? 43 00:02:14,310 --> 00:02:21,650 E pra 16 është një fuqi e 2, dhe kështu Çdo shifër heksadecimal, 0 deri f, 44 00:02:21,650 --> 00:02:25,440 korrespondon me një unike urdhërimin, apo rregullim unik 45 00:02:25,440 --> 00:02:29,060 e 4 shifra binare, 4 bit. 46 00:02:29,060 --> 00:02:34,570 Dhe kështu në këtë kuptim, ne mund të shprehim shumë të gjatë, komplekse, numrat binare 47 00:02:34,570 --> 00:02:36,440 në heksadecimal në një shumë mënyrë më koncize, 48 00:02:36,440 --> 00:02:41,080 pa humbur informacion ose ka për të bërë conversions veçanërisht të vështira 49 00:02:41,080 --> 00:02:42,480 në ato numra. 50 00:02:42,480 --> 00:02:44,880 >> Pra, si unë vetëm i tha, çdo shifër heksadecimal 51 00:02:44,880 --> 00:02:48,630 korrespondon me një unike marrëveshje e 4 shifra binare. 52 00:02:48,630 --> 00:02:53,670 Pra, string binar 0000 korrespondon me shifrën 0 heksadecimal. 53 00:02:53,670 --> 00:03:00,340 0110 korrespondon me numër heksadecimal 6. 54 00:03:00,340 --> 00:03:05,225 Dhe 1111 korrespondon në heksadecimal shifror f. 55 00:03:05,225 --> 00:03:07,100 Nëse ju jeni duke kërkuar në kjo tabelë, veçanërisht 56 00:03:07,100 --> 00:03:09,099 në qoftë se ju jeni duke kërkuar në anën e majtë të grafikut, 57 00:03:09,099 --> 00:03:11,970 ju tashmë mund të shihni se ka një pak e një problemi paqartësi këtu. 58 00:03:11,970 --> 00:03:15,229 Decimal 0 është shumë e shumë padallueshëm nga heksadecimal 0, 59 00:03:15,229 --> 00:03:18,020 përveç faktit se ai është nën një kolonë që thotë se hexadecimal. 60 00:03:18,020 --> 00:03:22,130 >> Por ne ndoshta nuk do të gjithmonë kanë atë kolonë atje. 61 00:03:22,130 --> 00:03:25,420 Në përgjithësi kur ne jemi shprehur Numrat në simbol heksadecimal 62 00:03:25,420 --> 00:03:28,130 për të dalluar në mënyrë të qartë ata nga shënim dhjetore, 63 00:03:28,130 --> 00:03:31,860 ne zakonisht prefiksin e tyre me prefiksin 0x. 64 00:03:31,860 --> 00:03:35,990 0x do të thotë asgjë në realitet, kjo është vetëm një e dhënë për ne si njerëz 65 00:03:35,990 --> 00:03:39,190 se ajo që ne jemi gati për të parë, apo gati për të filluar analizë gramatikore, 66 00:03:39,190 --> 00:03:40,750 është një numër hexadecimal. 67 00:03:40,750 --> 00:03:45,590 Natyrisht për shifra më të larta A, B, c, d, dhe f, të cilat korrespondojnë me 10-15 68 00:03:45,590 --> 00:03:48,840 kjo është goxha e qartë se kjo është kjo është një numër heksadecimal. 69 00:03:48,840 --> 00:03:51,620 Dhe në fakt, çdo heksadecimal numër që ka letra në të, 70 00:03:51,620 --> 00:03:54,642 është ndoshta shumë e qartë si një numër heksadecimal. 71 00:03:54,642 --> 00:03:56,350 Por, ende, për hir të qartësisë, është 72 00:03:56,350 --> 00:03:58,290 gjithmonë një ide e mirë për të prefiksin çdo herë që 73 00:03:58,290 --> 00:04:01,835 i referohen një shifër si një heksadecimal Numri i nga prefixing një 0x. 74 00:04:01,835 --> 00:04:04,370 75 00:04:04,370 --> 00:04:06,810 >> Pra, binar, si ne tha, ka vlera vend. 76 00:04:06,810 --> 00:04:10,040 Ka vend ato, një vend twos, një vend i katër këmbët, dhe një vend Eights. 77 00:04:10,040 --> 00:04:13,640 Dhe decimal gjithashtu ka vendin e vlera, e ato të, dhjetëra, qindra, dhe mijëra 78 00:04:13,640 --> 00:04:15,910 që ne të gjithë mund të kujtojmë nga klasën e shkollës. 79 00:04:15,910 --> 00:04:18,050 Dhe heksadecimal ka asnjë Përjashtim këtu, me të vërtetë. 80 00:04:18,050 --> 00:04:22,660 Ajo gjithashtu ka vend vlerat por në vend për të qenë kompetencave të 2 ose fuqive të 10, 81 00:04:22,660 --> 00:04:25,050 ata janë kompetencat e 16. 82 00:04:25,050 --> 00:04:29,410 >> Pra, ne shohim një numër si ky ne mjaft të qartë e di se është 397, e drejtë? 83 00:04:29,410 --> 00:04:33,420 E pra në qoftë se ne shohim një numër si ky, ne e dimë se kjo nuk është 397 më. 84 00:04:33,420 --> 00:04:36,730 Kjo është hexadecimal numri tre e nëntë e shtatë. 85 00:04:36,730 --> 00:04:39,680 Kjo nuk është 397, kjo do të thotë dicka ndryshe, 86 00:04:39,680 --> 00:04:44,180 sepse ne jemi duke përdorur pushtetin e 16, si të gjithë në vendin e vlerave tona në vend të pushteteve 87 00:04:44,180 --> 00:04:45,560 e 10. 88 00:04:45,560 --> 00:04:50,570 Në fakt, vendi vlerat këtu do të jetë vendi ato, vendi sixteens, 89 00:04:50,570 --> 00:04:55,080 dhe vendi dyqind-pesëdhjetë sixes, të cilat korrespondojnë me idenë tonë të një të atyre 90 00:04:55,080 --> 00:04:59,180 vend, dhjetëra vend, dhe një qindra vend, në qoftë se numri ishte 397. 91 00:04:59,180 --> 00:05:03,620 Por që nga ajo e 0x 397, ne kemi një Ones vend vend, sixteens, 92 00:05:03,620 --> 00:05:05,780 dhe një vend dyqind-pesëdhjetë sixes. 93 00:05:05,780 --> 00:05:09,460 Ose një 16 në vendin 0, e cila është 1. 94 00:05:09,460 --> 00:05:12,420 Një 16 në vendin e parë të energjisë, 16. 95 00:05:12,420 --> 00:05:17,080 Një 16 katror vend, 256, dhe kështu me radhë, dhe kështu me radhë, dhe kështu me radhë. 96 00:05:17,080 --> 00:05:24,400 Pra, ky numër është me të vërtetë 3 herë 16 katror, ​​plus 9 herë 16, plus 7. 97 00:05:24,400 --> 00:05:28,980 Unë nuk e ka bërë matematikë këtu, por kjo nuk është 397, kjo është shumë, shumë më i madh se kaq. 98 00:05:28,980 --> 00:05:34,050 >> Në mënyrë të ngjashme, ne mund të kemi ADC 0x, edhe kjo është një herë 16 katror. 99 00:05:34,050 --> 00:05:38,220 Ose në qoftë se ne të përkthehet se për nocionin tonë e numrave dhjetore, kjo është 10 herë 100 00:05:38,220 --> 00:05:44,160 16 katror, ​​plus d herë 16, ose 13 plus 16 here. 101 00:05:44,160 --> 00:05:47,410 Dhe mos u shqetësoni nëse ju nuk e keni memorizuar se d është 13, ose diçka të tillë, 102 00:05:47,410 --> 00:05:49,201 nuk është shumë e shumë e këtyre shifrave letër 103 00:05:49,201 --> 00:05:52,820 dhe ajo do të bëhet intuitive shumë shpejt. 104 00:05:52,820 --> 00:05:59,800 Pra, përsëri kjo është 10 herë 16 katror, plus 13 herë 16 plus 12 herë 1. 105 00:05:59,800 --> 00:06:03,640 ADC kështu 0x. 106 00:06:03,640 --> 00:06:07,750 >> Pra, siç thashë, çdo grup prej 4 shifra binare 107 00:06:07,750 --> 00:06:10,000 korrespondon me një të vetme shifror heksadecimal, 108 00:06:10,000 --> 00:06:12,570 dhe kështu që është e vërtetë me të vërtetë lehtë për të ndryshuar mbrapa dhe me radhë 109 00:06:12,570 --> 00:06:14,690 midis magji dhe binar. 110 00:06:14,690 --> 00:06:18,310 Në qoftë se ju e keni këtë varg të gjatë të shifra binare, të gjithë ju duhet të bëni 111 00:06:18,310 --> 00:06:21,320 është të fillojë grupuar ato të drejtë për të lënë si grupe prej 4. 112 00:06:21,320 --> 00:06:26,550 Dhe pastaj ju mund të konsoliduar ata në numra heksadecimal, 113 00:06:26,550 --> 00:06:30,910 kufizimin rëndë numrin e shifrat që ju keni për të procesit mendërisht. 114 00:06:30,910 --> 00:06:33,680 Në vend të 32 0 dhe 1-së, si ne do të shohim në një të dytë, 115 00:06:33,680 --> 00:06:37,630 ju mund të jetë në gjendje për të marrë atë poshtë në vetëm 8 shifra hexadecimal, shumë 116 00:06:37,630 --> 00:06:39,200 më konciz. 117 00:06:39,200 --> 00:06:43,500 >> Listat disa slides pak mbrapa do të të ju ndihmojë të kuptoj se këtë hartës, 118 00:06:43,500 --> 00:06:45,660 edhe pse, përsëri ju do të mësuar përmendësh atë shumë shpejt. 119 00:06:45,660 --> 00:06:47,320 Ne do të kalojnë nëpër një shembull të drejtë tani. 120 00:06:47,320 --> 00:06:51,507 Pra, nëse ne kemi një numër si ky, ky numër me të vërtetë i madh binar, 121 00:06:51,507 --> 00:06:53,340 apo atë që duket të jetë një numër i madh binar. 122 00:06:53,340 --> 00:06:56,260 Dhe arsyeja unë them se, kjo është vetëm so-- kjo është një monstër, e drejtë? 123 00:06:56,260 --> 00:06:58,959 Ka kaq shumë 0 dhe 1 është atje. 124 00:06:58,959 --> 00:07:01,000 Por ne ndoshta nuk e bëjmë me të vërtetë kanë një kuptim të asaj 125 00:07:01,000 --> 00:07:02,870 madhësia e këtij numri është me të vërtetë. 126 00:07:02,870 --> 00:07:06,150 Ne nuk kemi asnjë ide se çfarë ajo do të korrespondojnë me një decimal të. 127 00:07:06,150 --> 00:07:09,744 Dhe në fakt ne nuk do të shohim edhe atë që korrespondon në decimal të drejtë tani. 128 00:07:09,744 --> 00:07:11,660 Ne mund të jetë në gjendje të shprehur këtë në një mënyrë që 129 00:07:11,660 --> 00:07:15,640 do të na japin një informacion më shumë në lidhje me se sa i madh ky numër është. 130 00:07:15,640 --> 00:07:17,270 >> Pra, le të shkojë në atë procesit të konvertimit. 131 00:07:17,270 --> 00:07:19,311 Gjëja e parë që ne kemi nevojë të bëni është që ne duam të grupit 132 00:07:19,311 --> 00:07:23,050 këto shifra jashtë në grupe i 4, duke filluar nga e drejta 133 00:07:23,050 --> 00:07:24,120 dhe duke punuar në të majtë. 134 00:07:24,120 --> 00:07:27,260 Nuk ndodh që të jetë 32 shifra këtu, që do të thotë ne kemi 135 00:07:27,260 --> 00:07:33,210 një pushim të bukur të pastër nga 8 grupe me nga 4. 136 00:07:33,210 --> 00:07:36,200 Mos harroni se çdo grup 4 këtu, unike korrespondon 137 00:07:36,200 --> 00:07:37,760 në një numër heksadecimal. 138 00:07:37,760 --> 00:07:42,080 Pra, ne do të fillojnë përsëri ndërtimin tonë numrin nga e djathta dhe Punën e la. 139 00:07:42,080 --> 00:07:44,890 E pra çfarë është 1101? 140 00:07:44,890 --> 00:07:49,220 E pra të bëjmë matematikë në kokën tonë, kemi 1 në vendin e tetë, një 1 141 00:07:49,220 --> 00:07:54,310 në vend të katër këmbët, një 0 në twos vend, dhe një 1 në vend ato. 142 00:07:54,310 --> 00:07:58,820 Kjo është 8 plus 4 plus 1, të cilat ne do të dimë si 13. 143 00:07:58,820 --> 00:08:02,400 Por ne ndoshta nuk do të shkruaj 13 nga, sepse ne jemi duke punuar me heksadecimal. 144 00:08:02,400 --> 00:08:07,982 Ne kemi nevojë për të kthyer atë në heksadecimal ekuivalente e 13, e cila është e d. 145 00:08:07,982 --> 00:08:12,940 >> 0011, edhe kjo është një 0 në vend Eights, një 0 në katër këmbët vend, 146 00:08:12,940 --> 00:08:15,190 një 1 në vend twos, dhe a 1 në vendin ato. 147 00:08:15,190 --> 00:08:16,880 Kjo është 3. 148 00:08:16,880 --> 00:08:20,180 Unë do të thotë të vazhdojmë të bëjmë këtë përsëri, ne kemi këtu 9. 149 00:08:20,180 --> 00:08:23,850 Dhe pastaj 11, por kjo është b, kujtojnë. 150 00:08:23,850 --> 00:08:30,570 2, 10-- a-- ose 6, dhe 4. 151 00:08:30,570 --> 00:08:34,669 Dhe kështu që varg shumë i madh të 0 dhe 1-ta të lartë 152 00:08:34,669 --> 00:08:38,549 është e shprehur më shumë në mënyrë koncize në heksadecimal si 0x 46a2b93d. 153 00:08:38,549 --> 00:08:42,309 154 00:08:42,309 --> 00:08:45,870 >> E pra, në rregull, ne kemi mësuar një të ri aftësi ftohtë, çfarë është pika? 155 00:08:45,870 --> 00:08:49,560 Ne nuk mund të përdorin këtë të gjithë kohë, si ne jemi duke shkuar për të parë së shpejti, 156 00:08:49,560 --> 00:08:52,370 ne përdorim hexadecimal mjaft shumë si programuesit. 157 00:08:52,370 --> 00:08:55,060 Jo domosdoshmërisht për Qëllimi i bërë matematikë me të, 158 00:08:55,060 --> 00:08:58,470 por për shkak se shumë herë adresat e kujtesës në sistemin tonë 159 00:08:58,470 --> 00:09:00,440 janë të përfaqësuara në heksadecimal. 160 00:09:00,440 --> 00:09:04,390 Kjo është një mënyrë të vërtetë konciz për të shprehur ndryshe ngarkuara, numra binar. 161 00:09:04,390 --> 00:09:06,440 Dhe kështu, përsëri, ju mund të not-- ju jeni me siguri 162 00:09:06,440 --> 00:09:07,640 nuk do të bëni asnjë matematikë me atë, ju nuk jeni 163 00:09:07,640 --> 00:09:09,848 do të jetë shumëzuar numrat hexadecimal së bashku, 164 00:09:09,848 --> 00:09:11,770 apo bërë ndonjë gjë të çuditshme si kjo. 165 00:09:11,770 --> 00:09:16,120 Por kjo është një aftësi e dobishme që të ketë kështu që ju mund të shprehin dhe të kuptojnë 166 00:09:16,120 --> 00:09:23,290 kujtesës adresat, dhe të tjera Mënyra e përdorimit të të dhënave në C. 167 00:09:23,290 --> 00:09:26,240 >> Unë jam Doug Lloyd, kjo është CS50. 168 00:09:26,240 --> 00:09:28,028