DOUG LLYOYD: ასე რომ, თექვსმეტობითი ციფრები, თითქოს ჩვენ საჭირო კიდევ ერთი ბაზა ნომერი
სქემა უფლება?
ისე, ყველაზე დასავლური კულტურების, როგორც თქვენ ალბათ იცნობს,
გამოყენება ათობითი system-- ბაზა 10, წარმოადგენს რიცხობრივი მონაცემები.
ჩვენ გვყავს ციფრები 0, 1, 2, 3, 5, 6, 7,8,9.
და თუ ჩვენ უნდა წარმოადგენს აფასებს მეტი ვიდრე ცხრა,
ჩვენ შეგვიძლია მათი დაჯგუფება ციფრები გამოყენების ცნება ადგილი ღირებულება.
ასე რომ, 10, გვაქვს 1 ციფრი მოჰყვა 0 ციფრი
და ჩვენ ხვდებიან რომ, რასაც ჩვენ ვაკეთებთ
არ ვამრავლებთ პირველი 1 10,
და შემდეგ დასძინა 0 სულ 10.
კომპიუტერები გავაკეთოთ რაღაც საკმაოდ მსგავსი, როგორც თქვენ ალბათ იცნობს,
ორობითი system-- ბაზის 2.
განსხვავება იქ მყოფი რომ არსებობს მხოლოდ 2 ციფრი
მუშაობა with-- 0 და 1.
ასე რომ, ჩვენი ადგილი ღირებულებები, ნაცვლად იმისა, რომ ერთი,
ათი, ასი, ათასი, რადგან ისინი იქნება ათობითი სისტემა,
ერთი, ორი, ოთხი, რვა, და ასე შემდეგ.
აი რამ, თუმცა, იმ 0 და 1 ს, განსაკუთრებით
თუ ჩვენ, რომ კომპიუტერული მეცნიერების და ვაკეთებთ ბევრი პროგრამირების
ან კომპიუტერთან მუშაობის, იყო აპირებს ხედავს ბევრი ორობითი ნომრები.
და იმ 0 და 1 ს დიდი ქსელები შეიძლება იყოს ძალიან რთული გარჩევის.
ჩვენ არ შეგვიძლია უბრალოდ შევხედოთ სიმებიანი 0 და 1 ს და აუცილებელი იცოდეს
ზუსტად ის, რაც არის.
მაგრამ მაინც სასარგებლო იქნება შეუძლია ექსპრეს მონაცემები იგივე გზა
რომ კომპიუტერში აკეთებს.
ჩვენ გვაქვს ამ ცნება თექვსმეტობითი სისტემა, რომელიც
ბაზა 16, ნაცვლად ბაზაზე 10 ან ბაზის 2.
რაც იმას ნიშნავს, რომ ჩვენ გვაქვს 16 ციფრი მუშაობა ნაცვლად 10 ან 2.
და ეს ბევრად უფრო მოკლე გზა გამოხატოს
ორობითი ინფორმაციის კომპიუტერული სისტემა, ეს ბევრად უფრო ადამიანის გასაგებია.
ასე რომ, ჩვენ ციფრები 0 მეშვეობით 9, და შემდეგ
ჩვენ ასევე გვაქვს დამატებითი ექვსი digits-- a, ბ, გ, დ, ე, ვ, რომელიც წარმოადგენს 10,
ჩვენი მოსაზრება, 10, 11, 12, 13, 14 და 15 წელს ათობითი.
ზოგჯერ, სხვათა შორის, თქვენ ასევე ნახავთ ამ გზით ვ, როგორც დედაქალაქში
მეშვეობით F, რომელიც არის ისე, მე, როგორც წესი, ამის გაკეთება.
უბრალოდ ჩემი სასურველი სტილი, მაგრამ არც კარგად,
ისინი ორივე წარმოადგენს საკმაოდ ბევრი იგივე.
>> რატომ არის თექვსმეტობითი მაგარი?
რატომ უნდა გამოვიყენოთ ეს სხვა დამატებითი ბაზა?
ჩვენ უკვე გვაქვს 2 და 10, რატომ გვჭირდება 16?
ისე 16 არის ძალა 2, და ასე თითოეულ თექვსმეტობითი ციფრი, 0 მეშვეობით f,
შეესაბამება უნიკალური შეკვეთით, და უნიკალური მოწყობის
4 ორობითი ციფრები, 4 ბიტი.
ასე რომ, ამ თვალსაზრისით, ჩვენ შეგვიძლია გამოვხატოთ ძალიან დიდი, რთული, ორობითი რიცხვები
თექვსმეტობითი in a ბევრად უფრო მოკლე გზა,
დაკარგვის გარეშე ინფორმაციას ან მქონე ამის განსაკუთრებით რთული კონვერტაციის
იმ ნომრები.
>> ასე რომ, როგორც მე უბრალოდ განაცხადა, თითოეულ თექვსმეტობითი ციფრი
შეესაბამება უნიკალური მოწყობა 4 ორობითი ციფრები.
ასე რომ ორობითი სიმებიანი 0000 შეესაბამება თექვსმეტობითი ციფრი 0.
0110 შეესაბამება თექვსმეტობითი ციფრი 6.
და 1111 შეესაბამება თექვსმეტობითი ციფრი ვ.
თუ თქვენ ეძებს ეს სქემა, განსაკუთრებით
თუ თქვენ ეძებს მარცხენა მხარეს სქემა,
შეგიძლიათ უკვე ვხედავ, რომ იქ ცოტა გაურკვევლობა პრობლემა აქ.
Decimal 0 არის საკმაოდ ბევრი განურჩეველი თექვსმეტობითი 0,
გარდა იმისა, რომ ის ქვეშ სვეტი, რომელიც ამბობს, თექვსმეტობითი.
>> მაგრამ ჩვენ ალბათ ყოველთვის არ აქვს, რომ სვეტი.
საერთოდ, როდესაც ჩვენ გამოვხატავთ ნომრები თექვსმეტობითი ნოტაცია
ნათლად განასხვავებს მათ ათობითი ნოტაცია,
ჩვენ, როგორც წესი, პრეფიქსი მათ პრეფიქსი 0x.
0x არაფერს ნიშნავს სინამდვილეში, ეს უბრალოდ ნახავ ჩვენთვის, როგორც ადამიანები
რომ ის, რაც ჩვენ შესახებ ვხედავ, ან უნდა დაიწყოს parsing,
არის რიცხვი.
ცხადია, უმაღლესი ციფრები a, b, გ, დ, ვ, რომელიც შეესაბამება 10-15
ეს არის საკმაოდ ცალსახა, რომ რომ არის რიცხვი.
და სინამდვილეში, ნებისმიერი თექვსმეტობითი ნომერი, რომელიც აქვს წერილების მას,
ალბათ საკმაოდ ნათელია როგორც რიცხვი.
მაგრამ, მაინც, რომ გულისთვის სიწმინდე, ის
ყოველთვის კარგი იდეა პრეფიქსი ყოველ დროს, თქვენ
ეხება ციფრი როგორც თექვსმეტობითი ნომერი მიერ prefixing 0x.
>> ასე რომ, ორობითი, როგორც ჩვენ თქმით, ადგილი აქვს ღირებულებებს.
არსებობს პირობა ადგილი, twos ადგილი, fours ადგილი, და მერვე ადგილი.
და ათობითი ასევე ადგილი აქვს ღირებულებები, პირობა, ათობით, ასობით და ათასობით
რომ ჩვენ ყველა შეიძლება გავიხსენოთ კლასის სკოლა.
და თექვსმეტობითი არის გამონაკლისი აქ, ნამდვილად.
მას ასევე აქვს ადგილი ღირებულებების მაგრამ ნაცვლად ყოფნის უფლებამოსილების 2 ან უფლებამოსილების 10,
ისინი უფლებამოსილების 16.
>> ასე რომ, ჩვენ ვხედავთ, რომ ნომერი, როგორც ეს ჩვენ საკმაოდ ნათლად ვიცით, რომ ეს 397, არა?
თუ ჩვენ ვხედავ, როგორც ეს, ჩვენ ვიცით, რომ ეს არ არის 397 უქმნით.
ეს არის თექვსმეტობითი ნომერი სამი ცხრა-შვიდი.
ეს არ არის 397, ეს იმას ნიშნავს, რაგაც განსხვავებული,
რადგან ჩვენ გამოყენებით უფლებამოსილების 16 ყველა ჩვენი ადგილი ფასეულობების ნაცვლად უფლებამოსილება
10.
სინამდვილეში, ადგილი ღირებულებების აქ რომ პირობა ადგილი, sixteens ადგილი,
და ორი ას ორმოცდაათი sixes ადგილი, რომელიც შეესაბამება ჩვენი იდეა პირობა
ადგილი, ათობით ადგილი, და ასობით ადგილი, თუ ნომერი იყო 397.
მაგრამ რადგან ის 0X 397, ჩვენ გვაქვს ადგილი პირობა, sixteens ადგილი,
და ორი ას ორმოცდაათი sixes ადგილი.
ან 16 0-ადგილი, რომელიც არის 1.
16 პირველ ხარისხში ადგილი, 16.
16 კვადრატი ადგილი, 256, და ასე შემდეგ, და ასე შემდეგ, და ასე შემდეგ.
ასე რომ, ეს რიცხვი მართლაც 3-ჯერ 16 კვადრატი, პლუს 9 ჯერ 16 + 7.
მე არ მათემატიკის აქ, მაგრამ ეს არ არის 397, ეს ბევრად, ბევრად უფრო დიდი, ვიდრე.
>> ანალოგიურად, ჩვენ შეგვეძლო 0x adc, კარგად, რომ არის ჯერ 16 კვადრატი.
თუ ჩვენ თარგმნოს, რომ ჩვენი ცნება ათობითი ციფრები, რომ ეს არის 10 ჯერ
16 კვადრატი, პლუს დ ჯერ 16, ან პლუს 13-ჯერ 16.
და არ ინერვიულოთ, თუ თქვენ არ მეხსიერებაში რომ დ 13, ან რამე მსგავსი,
იქ არ არის ძალიან ბევრი ამ წერილი ციფრები
და ის გახდება ინტუიციური საკმაოდ სწრაფად.
ასე რომ კიდევ ერთხელ, ეს არის 10-ჯერ 16 კვადრატი, პლუს 13-ჯერ, 16 და 12-ჯერ 1.
ასე რომ, 0x ADC.
>> ასე რომ, როგორც ვთქვი, ყოველ ჯგუფი 4 ორობითი ციფრები
შეესაბამება ერთი თექვსმეტობითი ციფრი,
და ამიტომ რეალურად ადვილად შეიცვალოს უკან და მეოთხე
შორის hex და ბინარული.
თუ თქვენ გაქვთ ეს ხანგრძლივი string ორობითი ციფრები, ყველა თქვენ უნდა გავაკეთოთ
არის დაიწყოს დაჯგუფება მათ უფლება უნდა დარჩეს, როგორც ჯგუფების 4.
და შემდეგ შეგიძლიათ კონსოლიდაცია მათ თექვსმეტობითი ციფრები,
სასტიკად რაოდენობის შეზღუდვის ციფრები თქვენ უნდა დამუშავება სულიერად.
იმის ნაცვლად, რომ 32 0 და 1 ს, როგორც ვნახავთ, მეორე,
თქვენ შეიძლება იყოს შეუძლია მიიღოს ქვემოთ უბრალოდ 8 თექვსმეტობითი ციფრები, ბევრი
უფრო მოკლე.
>> სქემები რამდენიმე სლაიდები უკან დაგეხმარებათ გაერკვნენ ამ რუკების,
თუმცა, ერთხელ თქვენ გვემახსოვრება ის საკმაოდ სწრაფად.
ჩვენ გავლა მაგალითად ახლა.
ასე რომ, თუ ჩვენ გვაქვს მთელი რიგი, როგორც ეს, ეს მართლაც დიდი ორობითი ნომერი,
ან რა, როგორც ჩანს დიდი ორობითი ნომერი.
და მიზეზი მე ვიტყვი, რომ ეს უბრალოდ so-- ის ჩვენსკენ, არა?
აქ არის ამდენი 0 და 1 ს არ არსებობს.
მაგრამ ჩვენ ალბათ არ ნამდვილად აქვს აზრი რა
მასშტაბები ამ რაოდენობის ნამდვილად არის.
ჩვენ არ გვაქვს რაიმე იდეა, თუ რა შეესაბამება ათობითი.
და სინამდვილეში, ჩვენ კი არ ვხედავთ, თუ რა შეესაბამება ამ ათობითი ახლავე.
ჩვენ შეიძლება შეძლებს გამოხატოს ეს ისე, რომ
მოგვცემს კიდევ რამდენიმე ინფორმაციას შესახებ, თუ რამდენად დიდი ეს რიცხვი.
>> მოდით წავიდეთ რომ კონვერტაციის პროცესი.
პირველი, რაც ჩვენ უნდა ამის გაკეთებას, ჩვენ გვინდა, რომ ჯგუფი
ეს ციფრები შევიდა ჯგუფების 4, დაწყებული უფლება
და სამუშაო მარცხენა.
არსებობს არ უნდა იყოს 32 ციფრი აქ, რაც იმას ნიშნავს, რომ ჩვენ გვაქვს
ლამაზი სუფთა შესვენების 8 ჯგუფების 4.
გახსოვდეთ, რომ თითოეული ჯგუფი 4 აქ, ცალსახად შეესაბამება
რომ თექვსმეტობითი ციფრი.
ასე რომ, ჩვენ დავიწყებთ ისევ ვაშენებთ ნომერი, მარჯვენა და სამუშაო დარჩა.
ისე რა არის 1101?
ისე ჩვენ მათემატიკის ჩვენი უფროსი, ჩვენ გვაქვს 1-მერვე ადგილი, 1
ამ fours ადგილი, 0 twos ადგილი და 1 ადგილას.
სწორედ 8 + 4 + 1, რომელიც ჩვენ ვიცით, როგორც 13.
მაგრამ ჩვენ ალბათ არ წერენ 13, იმიტომ, რომ ჩვენ ვმუშაობთ თექვსმეტობითი.
ჩვენ უნდა გარდაქმნას იგი თექვსმეტობითი ეკვივალენტს 13, რომელიც არის დ.
>> 0011, ისე, რომ ეს არის 0 მერვე ადგილი, 0 fours ადგილი,
1 წლის twos ადგილი, და 1 ადგილას.
ეს არის 3.
ვგულისხმობ აკეთეთ ეს კიდევ ერთხელ, ჩვენ აქ 9.
და შემდეგ 11, მაგრამ ეს ბ, გაწვევას.
2, 10-- ან a-- 6 და 4.
ასე რომ, ძალიან დიდი სიმებიანი 0 და 1 ს ყველაზე
უფრო მოკლედ გამოთქვა თექვსმეტობითი როგორც 0x 46a2b93d.
>> ასევე, OK, ჩვენ ვისწავლეთ ახალი მაგარი უნარი, რა აზრი აქვს?
ჩვენ შეიძლება არ გამოიყენოს ეს ყველა დრო, როგორც ჩვენ ვაპირებთ, რომ მალე,
ჩვენ ვიყენებთ თექვსმეტობითი საკმაოდ ბევრი, როგორც პროგრამისტები.
არ არის აუცილებელი, რომ მიზნით აკეთებს მათემატიკის ერთად,
არამედ იმიტომ, რომ ბევრი ჯერ მეხსიერების მისამართები ჩვენი სისტემა
წარმოდგენილია თექვსმეტობითი.
ეს მართლაც მოკლე გზა გამოხატოს წინააღმდეგ შემთხვევაში, cumbersome, ორობითი რიცხვი.
ასე რომ, კიდევ ერთხელ, შეგიძლიათ not-- თქვენ ალბათ
არ აპირებს რაიმე მათემატიკის მას, თქვენ არ ხართ
იქნება გამრავლებით თექვსმეტობითი ციფრები ერთად,
ან აკეთებს არაფერი უცნაური, როგორიცაა, რომ.
მაგრამ ეს არის სასარგებლო უნარი აქვს ასე რომ თქვენ შეგიძლიათ გამოხატვა და გაგება,
მეხსიერების მისამართები და სხვა გზების გამოყენებით მონაცემების C.
>> მე Doug Lloyd, ეს არის CS50.