[Powered by Google Translate] Nate HARDISON: dvejetainių video, mes parodysime, kaip atstovauti sveikaisiais skaičiais rinkinys, nuo nulio iki naudojant tik SKAITMENYS nulio iki vieneto. Šiame vaizdo, mes ketiname naudoti dvejetainius aiškinamąją pastabą, atstovauja teksto, raidžių ir toks, taip pat. Kodėl mes nerimauti tai padaryti? Na, po gaubtu, kompiuteris tik tikrai supranta nulių ir, dvejetainiais skaitmenimis, nes tai gali būti atstovaujama lengvai elektromagnetinių dalykų. Pavyzdžiui, pagalvokite apie kompiuterio atmintyje, kaip ilgai eilutę, elektros lemputes, pagal kurią kiekvienas asmuo lemputė rodo nulį, jei jis išjungtas, o vienas jei jis įjungtas. Vietoj to, kad naudojant elektros lemputes krūva, kai kurie šiuolaikiniai atminties tai naudojant kondensatorių, kad laikyti žemas imti atstovauti nulio nustatymo ir aukštą mokestį sudaro vieną. Yra kiti metodai, taip pat. Bet kokiu atveju, siekiant išsaugoti atmintyje nieko, mes turime pirmiausia konvertuoti jį į kažką, kad gali būti iš tikrųjų atstovaujama fizinės kompiuterinės įrangos. Taigi pagalvokime apie tai, kaip mes galime atstovauti laiškus su dvejetainis žymėjimą. Anglų kalba, mes turime 26 raidyno raides,, B, C, D, ir tt iki Z. Mes galime priskirti kiekvieną iš tai skaičius, tarkim nulio per 25, ir tada naudojant dvejetainis notacija, mes galime atstovauti kiekvieno numerio nulių ir seka. Kad tai nėra labai blogai. Tačiau, kad nesiruošia būti pakankamai. Naudodami šią sistemą, mes galime ne iš tikrųjų atskirti didžiosios ir mažosios raidės. Jei norime, kad mūsų kompiuteryje, kad būtų galima atskirti du atvejai, tada mums reikia papildomai gauti 26 numerių. Ir ką apie laikotarpius, kableliais ir kitus skyrybos ženklus? Ant mano klaviatūros, aš gavau iš tų 32, įskaitant visas Žymeklis ir ampersendo specialių simbolių, pavyzdžiui,. Štai neįskaitant skaitmenų simbolių, nulinės per devynis nes mes vis dar norime, kad būtų galima įvesti skaičių dešimtainis notacijos kompiuteryje, net jei kompiuteris tik tikrai supranta dvejetainį notacijos po gaubtu. Ir, pagaliau, mes jums reikia atstovauti tarpo simbolį, kad kad mūsų Tarpo klavišas veikia. Taigi, suprasti, kaip atstovauti tekstą į kompiuterį trunka šiek tiek daugiau, nei mes galėjo pagalvoti, kad iš pradžių. Be to, manome tada ateiti su savo kodavimo schema atstovauti simbolius kaip skaičiai. Tačiau mes nuspręsti koduoti ženklai neišvengiamai bus savavališkai, kaip matėme anksčiau, kai mes kalbėjome apie naudojant numeriai nulio per 25 atstovauja raides iki Z. Kodėl gi ne naudoti nuo 10 iki 35, kad mes galime išgelbėti nulis per devynis skaitmenų simbolių? Yra tikroji priežastis, mes ne tik pasirinko, kokia atrodė mums geriausia. Atgal į 1960-ųjų pradžioje, tai buvo tikra problema. Skirtingų kompiuterių gamintojai buvo skirtingų kodavimo schemos, ir tai padarė komunikacijos tarp skirtingų mašinų labai sudėtingas uždavinys. American National Standards Institute, ANSI, suformavo komitetą sukurti bendrą sistemą. Ir 1963 metais, Amerikos standartinis informacijos kodas Mainai, labiau žinomas kaip ASCII, gimė. ASCII buvo sukurta kaip septynių bitų kodavimą, kuris reiškia, kad kiekvienas simbolis yra atstovaujamos derinys septynių nulių ir. Su šių dviejų galimų reikšmių, nulis arba vienas, už kiekvieną iš septynių bitų, yra du septintą ar 128 simbolių, kurie gali būti atstovaujama su ASCII kodavimo schemą. Taigi 128 simbolių skamba kaip daug, tiesa? Na, atminkite, kad yra 26 mažosiomis raidėmis Anglų, dar 26 didžiosios raidės, 10 skaitmenų simbolių, 32 skyrybos ir specialiuosius simbolius, ir vienas tarpas. Kad verčia mus 95, todėl mes turime dar 33 simbolių, kad mes gali atstovauti. Taigi, kas liko? Na, į ASCII, teletaipo plėtros dienų mašinos, kurios yra rašomosios mašinėlės, kurie yra naudojami siųsti laiškus tinkle, buvo plačiai paplitęs. Ir šios mašinos buvo papildomų simbolių, kurie naudojami juos kontroliuoti, pavyzdžiui, pasakyti jiems, kai judėti spausdinti galvą žemyn linija, linija pašarų ar nauja linija klavišas, kada pereiti prie kairiojo krašto, Carriage Return, arba tiesiog grįžti raktas, ir kada grįžti vieną erdvę, klavišas backspace pobūdžio, ir taip toliau. Šie ženklai yra vadinami valdymo simboliai, ir jie sudaro ASCII rinkinio poilsio. Taigi, jei pažvelgsime į ASCII lentelę, matome, kad pirmasis 32 numeriai, nulio iki 31, yra skirta kontroliuoti simbolių. Bet mes tiesiog sakė, kad veikė 33 valdymo simboliai. Kas yra reikalas? Na, skaičius nulis ir 127, pirmasis ir paskutinis ASCII rinkinys, turi ypatingą bitų modelius, visi nuliai ir visi tie, atitinkamai. ASCII dizaineriai nusprendė, vadinasi, išsaugoti šiuos numerius, jei pristatomos papildomos specialių simbolių, null pobūdis ir DEL charakteris. Niekinis ir DEL buvo skirtas popieriaus juostos redagavimo, kuris naudojamas būti įprastas būdas duomenims saugoti. Popieriaus juosta, tik ilgai popieriaus juostelės, ir buvo tiesiog Reguliariai juostos, galite Punch skylės duomenims saugoti. Priklausomai nuo juostos pločio, kiekviename stulpelyje būtų galėtų tilpti penki, šeši, septyni, arba 8 bitai. Į nulinį tiek, jūs nieko padaryti, kad juosta, norite tiesiog palikti tuščią vietą. Bitas, jums reikia pramušti skylę. Null personažas tiesiog palikti tuščią stulpelį, nurodydama Visi nuliai. Ir DEL personažas kiauras Punch stulpelį per savo juostos. Kaip rezultatas, jūs galite naudoti DEL simbolį ištrinti informacija. Užpildytą rinkimų biuletenį Įsivaizduokite, o tada perforavimo visas unpunched skyles. Jūs netekti biuletenį, nes tai neįmanoma pasakyti, kas originalus balsų. O DEL charakteris vis dar naudojamas modernus Trynimo klavišą, null simbolis atėjo būti naudojamas kaip nutraukimas simbolį C stygos ir kai kurių kitų duomenų formatai. Galbūt žinote, "backslash nulinio simbolio, nes tai kaip mes atstovaujame ją raštu. Taigi atgal į mūsų ASCII lentelę. Po pirmųjų 32 valdymo simboliai ateiti 95 spausdintinių simbolių. Yra pora kietas dizaino sprendimus verta kalbame apie čia. Pirma, dešimtainis skaitmuo simbolių, nulis per devynis atitinka skaičių 48 per 57, kuri, atrodo niekuo neišsiskiriantys, kol mes ieškome į numerius 48 per 57 parašyta dvejetainiu notacijos. Jei mes tai padarysime, tada matome, kad skaitmuo personažas, lygus nuliui, atitinka 0110000, vienas žemėlapius 0110001, du iš jų 0110010, ir taip toliau. Modelis? Kiekvienas skaitmuo požymis yra susietas su jo atitinkamas ekvivalentas dvejetainiu notacijos, su prefiksu 011. Toliau, jūs pastebėsite, kad didžiosios raidės prasideda nuo 65, didžiąsias A, tačiau mažosios raidės nepradėkite iki 97. Taigi yra 32 tarpai tarp. , Kad atrodo keistai. Jie yra tik 26 raidės abėcėlės. Kodėl juos padalinti, kaip tai? Vėlgi, jei pažvelgsime į dvejetainius atstovybių, mes galime žr. modelį. Atstovauja 1000001 didžiąsias, ir mažąsias raides yra atstovaujama 1.100.001. Didžiosios raidės B atstovauja 1000010, ir mažosiomis raidėmis b yra atstovaujama 1.100.010. Ar galite pasakyti, kas čia vyksta? Tiek, kad iš kairės antra, dviejose penktadaliai 32ths poziciją, 0 visi didžiosiomis laiškais, ir 1 visi mažosiomis raidėmis. Tai reiškia, kad konvertuojant iš didžiąsias į mažąsias ir atvirkščiai, yra paprasta bitų apversti klausimas. Taip, kad duoda mums į ASCII lentelės pabaigoje. Ar manote, kad nieko mes praleistą? Na, kas apie Ispanijos enye, arba Graikų ir kirilicos abėcėlės? Ir kaip apie kinų simbolių? Yra daug, kad buvo paliktas ASCII. Tačiau, kita standartas vadinamas "Unicode" buvo sukurta siekiant patenkinti visus šiuos simbolių ir daug daugiau. Bet tai kitą kartą. Mano vardas yra Nate Hardison. Tai CS50.