დღის ტესტი: ორობითი სისტემა

საგამოცდო ტრენინგის პირობები

დღეისთვის ასეთი შინაარსის ქვიზი მინდა შემოგთავაზოთ:

ნაჩვენებია ქსელის ბარათის IP მისამართი 172.16.0.64. (ანუ v4 ვერსიის ოთხწერტილოვანი  ათობითი ჩანაწერის ფორმატში წარმოდგენილი მისამართი.) უნდა მოვძებნოთ მისი შესაბამის ჩანაწერი ორობით ფორმატში. ერთი შეხედვით რთულ კითხვად მომეჩვენა, ვიფიქრე სწორი პასუხის გასაცემად IP მისამართის ფორმატის ცოდნა იქნებოდა საჭირო. ალბათ სადღაც დაგვჭირდებოდა იმის ცოდნა, რომ IPv.4 მისამართში თითოეული ჩანაწერის მნიშვნელობა 255-ს არ უნდა აღემატებოდეს, მაგრამ არა.. ამ კითხვაზე პასუხის გასაცემა ეს ცოდნა არსად დაგჭირდებათ. რეალურად, ორობითი ფორმატის ცოდნა სრულიად საკმარსია. აქ არის კიდევ ერთი პაატარა ნიუანსი: ერთი შეხედვით თითქოს ათობითი საკმოდ დიდი რიცხვი 172 (და სხვებიც) ორობით სისტემაში უნდა გადავიყვანოთ...  

მაგრამ არა. არც ის ქვეშმოწერაა საჭირო. (დიდი ხანია ვაკვირდები პრაქტიკას, როდესაც ტიპები წლიდან წლამდე უკვე არსებული რესურსებს კოპი-პეისტით არიან დაკავებული.) (ნახეთ ტექსტი შენიშვნაში) დღეს ორობითი სისტემის რიცხვების ათობითში გადასაყვანად მიღებული პრაქტიკაა 1-იანების პოზიციების მნიშვნელობების შეკრება. 

ანუ, ნებისმიერი პოზიციაში მყოფი 0 ის მნიშვნელობა არის 0. ამიტომ შესაძლებელია ასეთი მნიშვნელობების უგულვებელყოფა. ხოლო 1-იანების მნიშვნელობები უნდა შევკრიბოთ მათი პოზიციის მიხედვით 

ანუ 1-ინები სხვადასხვა რიცხვებს გამოსახავენ. იმის დასადგენად, თუ რა რიცხვს აღნიშნავს ამა თუ იმ პოზიციაზე მყოფი ერთიანი, გვჭირდება ერთიანის პოზიციის ცოდნა. ამიტომაც ამ სისტემას ქვია თვლის პოზიციური სისტემები

ერთიანების მნიშვნელობების დადგენის შემდეგ კი ამ რიცხვებს შევკრებთ და მივიღებთ რიცხვს, რასაც აღნიშნავს 0-იანების და 1-იანების მთლიანი კომბინაცია.  

გავარკვიოთ ეს როგორ ხდება: დანომვრა 0-დან იწყება. 0 პოზიციაზე მყოფი 1 იანი აღნიშნავს 1-ს. ანუ თუ 1-იანი 0 პოზიციაზე წერია, ის აღნიშნავს 1-ს

თუ 1-იანი 1 პოზიციაზეა ეს არის 2.

თუ 1 იანი 2 პოზიციაზეა ის 4-ს აღნიშნავს. 
3 პოზიციაზე მყოფი 1იანი კი 8 ის ტოლია. 

და ა.შ. 

თუ კარგად დააკვირდებით, ამ  რიცხვების მნიშვნელობები 2 ის გარკვეულ ხარისხებს აღნიშნავენ. ანუ  20=1 (ხარისხად 0  იმიტომ რომ 1-იანი ამჯერად დგას 0 პოზიციაზე). როცა ერთიანი 1 პოზიციაზეა, 21=2 (ხარისხად 1 იმიტომ, რომ ამჯერად 1 იანი დგას 1 პოზიციაზე). თუ 1-იანი 2 პოზიციაზეა,  22=4 (ხარისხად 2 იმიტომ რომ ამჯერად 1 იანი დგას 2 პოზიციაზე), და ბოლოს, თუ 1-იანი 3 პოზიციაზეა, ვიანგარიშებთ  რომ 23=8 . და ამ შემთხვევაში 3 პოზიციაზე მყოფი 1 იანი აღნიშნავს 8-იანს.  

ბარემ ამ ა.შ.-საც გავშლი: მე-4 პოზიცაზე მყოფი 1 იანი აღნიშნვას 16, მე-5 პოზიცაზე — 32, მე-6 პოზიცაზე — 64. და დაგვრჩა მე-7 პოზიცაზე მყოფიერთიანი. ის 128-ის ტოლი იქნება. 

ვინდაიდან ჩვენ პოზიციების დათვლა დავიწყეთ 0-დან, გამოდის რომ  სულ გვაქვს 8 პოზიცია (ამ კერძო შემთხვევაში), ანუ ეს აღნიშნავს 8 ბიტის მნიშვნელობას. ანუ მთლიანად ყველა 8 ბიტის (8 ცალი 1 იანების მაქსიმალური მნიშვნელობა, (რაოდენობა) არის 256. და 2 ხარისხად 8 ტოლია 256. 
როგორც აღვნიშნე, თუ რომელიმე პოზიციაზე 0 წერია, მისი მნიშვნელობა 0 იქნება და ამ პოზიციას ვაიგნორებთ. 0 რომ დავამატოთ, ისედაც ხომ არაფერი შეიცველება :) 
 
 :: მაგალითი
ვნახოთ 4 ბიტიანი მაგალითი:
ამ ცხრილში პირველ სტრიქონში მოცემულია პოზიციები, დათვლა მარჯვნიდან 0-ით იწყება. მერე პოზიციაზე ყველაგან 1-იანები წერია, იმის აღსანიშნავად, რომ მხოლოდ 1 იანების დათვლა გვიწევს. მესამე სტრიქონში წერია ამ პოზიციაზე მყოფი 1იანების მნიშვნელობები, (იგივე 2-ის შესაბამისი ხარისხები), ანუ 16, 0, 0, 2 და 1. 

შემდეგ კი მაგალითად ლურჯ ფონში ჩაწერილია ორობითი რიცხვი 100112. ამ რიცხვის ათობითში გადასაყვანად ვითვლით 1-იანების მნიშვნელობებს. ეს მნიშვნელობები წერია ბოლო სტრიქონში. შემდეგ კი ამ მნიშვნელობებს დავაჯამებთ.  დავიწყოთ:

0 პოზიციაზე მყოფი 1 იანის მნიშვნელობა არის 1.   
1 პოზიციაზე მყოფი 1 იანის მნიშვნელობა არის 2.   
2 პოზიციაზე მყოფი 0 იანის მნიშვნელობა არის 0.
3 პოზიციაზე მყოფი 0 იანის მნიშვნელობა არის 0.
ხოლო
4 პოზიციაზე მყოფი 1 იანის მნიშვნელობა არის 16.

ახლა ეს მნიშვნელობები შევკრიბოთ: 16 + 0 + 0 + 2 + 1 = 1910 როგორც ხედავთ არსად ქვეშმოწერა არა საჭირო.   
    
თუ ეს ყველაფერი გასაგებია, სცადეთ გამოთვალოთ რას უდრის 010112 რიცხვის მნიშვნელობა ?10 ათობითში. ამჯერად სულაც მოვაცილე პოზიციის ნომერი და 1-იანები. მათ გარეშეც შესაძლებელია გამოთვლა :) 
 :: დავალების განხილვა
   
ამ ცოდნით შევხედოთ ქვიზში დასმულ კითხვას: ანუ ვეძებ IP მისამართს 172.16.0.64

დავალების უკეთ აღსაქმელად ეს რიცხვები ცხრილის სახით გავაკეთოთ. გამოცდაზე შეგიძლიათ პირდაპირ დავალებაში დანომროთ. ქვეშმოწერას კი ჯობია :) 

თუ დააკვირდებით, პირველი და მესამე ოქტეტი (მწვანე ფონი) ოთხივე პასუხში ერთიდაიგივეა. ამიტომ მათ გამოცნობას აზრი არ აქვს. მესამე ოქტეტი ისედაც გამოსათვლელი არ იყო. გამოდის მეორე ოქტეტში უნდა გამოვიცნოთ რომელია 16 და მეოთხეში რომელია 64. ანუ რაღაც რიცხვების შეკრებაც კი არ გვჭირდება :) მხოლოდ და მხოლოდ პოზიციები არ უნდა შეგვეშალოს და არ უნდა დაგვავიწყდეს, რომ პოზიციის დათვლა იწყება 0 დან. 

16-ს მეორე ოქტეტში ორი პასუხი შეიცავს — ბ) და დ). შესაბამისი 1-იანები გამწვანებულია ბ) და დ) სტრიქონში. 

ანუ ან ერთი შეიძლება იყოს პასუხი ან მეორე. თუ რომელი სტრიქონში აღნიშნავს 1-იანი  64-ს, ამის დასადგენად კვლავ სვეტის თავზე გაკეთებული წარწერა დაგეხმარებათ. აქ აშკარად ჩანს რომ 64 მე-4 ოქტეტში ბ) და გ) პასუხში გვხვდება. შესაბამისი 1-იანები მწვანე ფერითაა აღნიშნული ბ) და დ) მწკრივებში.

ამ მსჯელობით ყოველგვარი ქვეშმოწერის, ან შეკრების გარეშე ვხედავთ, რომ კითხვის სწორი პასუხია ბ).     

ამჯერად მე ტესტის პასუხის გამოსაცნობად ორობითი რიცხვები გადავიყვანე ათობითში. მაგრამ ამ ამოცანის ამოხსნა შეიძლება ათობითი რიცხვის ორობითში გადაყვანითაც. ანუ თუ გვეცოდინებოდა 64 ის აღნიშვნა ორობითში როგორ შეიძლება, ძალიან გაგვიადვილდებოდა ტესტზე სწორი პასუხის გაცემა. ახლა უკვე ესეც ვიცით :)     

 :: რეფლექსია

რეფლექსიისთვის აუცილებლად გააკეთეთ ტესტი ორობითი სისტემა

თუ გინდათ იხალისოთ, ითამაშეთ CISCO  ბინარული თამაში. აგრეთვე ტელეფონებში შეგიძლიათ მოიძიოთ ბინარული თამაშები. მაგ: 2248

პოსტი  ორობითი რიცხვები ვიპოვე SCSA ვებ გვერდზე. თავიდან გამოხარდა, თუმცა მერე აღმოჩინე, რომ ვილიპედიის მასალა კოპი პეითითაა გადმოატანილი და შედეგად ტექსტში შეცდომებია. ამიტომ ამ სტატიის წაკითხვა რეკომენდებული არაა, მაგრამ თვითონ ვიკის ორიგინალი სტატის წაკითხვა ბევრ საინტერესო ინფორმაციას მოგცემთ.

შემდეგი ბმულებით ვიდეო ინფორმაციას გთავაზობთ: თვლის ორობითი და თექვსმეტობითი სისტემები 

ორობითი მონაცემები  (ქართ)

Why Do Computers Use 1s and 0s?

Representing Numbers and Letters with Binary

Intro to Binary Numbers

https://www.facebook.com/share/v/1BwWwfKnPC/




გამოცდაზე კი 10 კრედიტს გისურვებთ

ამ ბმულზე  შეგიძლიათ გაეცნოთ ისტ (ტექნოლოგიების) გამოცდის ტრენინგის პირობებს

თუ გაქვთ კითხვები დასვით კომენტარებში. თუ მოგეწონათ, გაუზიარეთ მეგობრებს და კოლეგებს....

მოგვწერეთ რა იყო საინტერესო, რა შევცვალოთ, ან რა დავამატოთ. თქვენი აზრი ჩემთვის ყოველთვის მნიშვნელოვანია


Comments

Popular posts from this blog

თხა და გიგო (ზღაპარი)

სტენფორდის ონლაინ კურსი კოდირებაში

კომპიუტერული პროგრამირების კურსები 2025