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

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

ორობითი კოდი

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

DC-ის გამოყენების ერთ-ერთი დასაბუთება არის ინფორმაციის შენახვის სიმარტივე და სანდოობა ნებისმიერ მედიაში მისი ფიზიკური მდგომარეობის მხოლოდ ორი კომბინაციის სახით, მაგალითად, მაგნიტური ნაკადის ცვლილების ან მუდმივობის სახით. მაგნიტური ჩამწერი საშუალების მოცემული უჯრედი.

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

რიცხვითი მნიშვნელობა ორობითი კოდი
0 000
1 001
2 010
3 011
4 100
5 101
6 110
7 111

აქედან ჩვენ ვხედავთ, რომ 7-ზე მეტი რიცხვისთვის 3-ნიშნა კოდით აღარ არსებობს 0 და 1 კოდის კომბინაციები.

რიცხვებიდან ფიზიკურ სიდიდეებზე გადასვლისას, მოდით ჩამოვაყალიბოთ ზემოაღნიშნული განცხადება უფრო ზოგადი ფორმით: ნებისმიერი სიდიდის m მნიშვნელობების უდიდესი რაოდენობა (ტემპერატურა, ძაბვა, დენი და ა.შ.), რომელიც შეიძლება გამოისახოს ორობითი კოდით, დამოკიდებულია გამოყენებული ბიტების რაოდენობაზე n, როგორც m= 2n. თუ n=3, როგორც განხილულ მაგალითში, მაშინ მივიღებთ 8 მნიშვნელობას, მათ შორის წამყვანი 0.
ორობითი კოდი არის მრავალსაფეხურიანი კოდი. ეს ნიშნავს, რომ ერთი პოზიციიდან (მნიშვნელობიდან) მეორეზე გადასვლისას რამდენიმე ბიტი შეიძლება შეიცვალოს ერთდროულად. მაგალითად, რიცხვი 3 ბინარულ კოდში = 011. რიცხვი 4 ბინარულ კოდში = 100. შესაბამისად, 3-დან 4-მდე გადაადგილებისას სამივე ბიტი ერთდროულად ცვლის თავის მდგომარეობას საპირისპიროდ. კოდის დისკიდან ასეთი კოდის წაკითხვა გამოიწვევს იმ ფაქტს, რომ კოდის დისკის წარმოებისას გარდაუვალი გადახრების (ტოლერანტების) გამო, ინფორმაციის ცვლილება თითოეული ტრასიდან ცალკე არასოდეს მოხდება ერთდროულად. ეს თავის მხრივ გამოიწვევდა იმ ფაქტს, რომ ერთი რიცხვიდან მეორეზე გადასვლისას მოკლედ მიცემული იქნებოდა არასწორი ინფორმაცია. ასე რომ, ზემოაღნიშნული 3-დან მე-4 რიცხვზე გადასვლისას, 7 რიცხვის მოკლევადიანი გამომავალი ძალიან სავარაუდოა, როდესაც, მაგალითად, გადასვლის დროს ყველაზე მნიშვნელოვანმა ბიტმა შეცვალა თავისი მნიშვნელობა დანარჩენისგან ცოტა ადრე. . ამის თავიდან ასაცილებლად გამოიყენება ეგრეთ წოდებული ერთსაფეხურიანი კოდი, მაგალითად ე.წ. რუხი კოდი.

ნაცრისფერი კოდი

რუხი კოდი არის ეგრეთ წოდებული ერთსაფეხურიანი კოდი, ე.ი. ერთი რიცხვიდან მეორეზე გადასვლისას, ინფორმაციის მხოლოდ ერთი ნაწილი ყოველთვის იცვლება. შეცდომა მექანიკური კოდის დისკიდან ინფორმაციის წაკითხვისას ერთი რიცხვიდან მეორეზე გადასვლისას გამოიწვევს მხოლოდ იმ ფაქტს, რომ ერთი პოზიციიდან მეორეზე გადასვლა დროში მხოლოდ ოდნავ გადაინაცვლებს, მაგრამ სრულიად არასწორი კუთხური პოზიციის მნიშვნელობის გაცემა, როდესაც ერთი პოზიციიდან მეორეზე გადასვლა მთლიანად აღმოიფხვრება.
გრეი კოდის კიდევ ერთი უპირატესობა არის ინფორმაციის არეკვლის უნარი. ასე რომ, ყველაზე მნიშვნელოვანი ბიტის ინვერსიით, შეგიძლიათ უბრალოდ შეცვალოთ დათვლის მიმართულება და ამით დაემთხვათ ღერძის ბრუნვის ფაქტობრივ (ფიზიკურ) მიმართულებას. ამ გზით დათვლის მიმართულების შეცვლა მარტივად შეიძლება შეიცვალოს ეგრეთ წოდებული "დამატების" შეყვანის კონტროლით. ამგვარად, გამომავალი მნიშვნელობა შეიძლება გაიზარდოს ან შემცირდეს ღერძის ბრუნვის იგივე ფიზიკური მიმართულებით.
ვინაიდან გრეის კოდში გამოხატული ინფორმაცია ბუნებით არის დაშიფრული და არ შეიცავს რეალურ ციფრულ ინფორმაციას, ის ჯერ უნდა გადაკეთდეს სტანდარტულ ორობით კოდში შემდგომი დამუშავების წინ. ეს კეთდება კოდის გადამყვანის (Gray-Binar decoder) გამოყენებით, რომელიც, საბედნიეროდ, ადვილად განხორციელდება ექსკლუზიური ან (XOR) ლოგიკური ელემენტების მიკროსქემის გამოყენებით, როგორც პროგრამულ, ასევე აპარატურაში.

შესაბამისი ათობითი რიცხვები დიაპაზონში 0-დან 15-მდე ბინარულ და გრეის კოდებამდე

ორობითი კოდირება რუხი კოდირება
ათწილადი კოდი
ორობითი მნიშვნელობა თექვსმეტი მნიშვნელობა ათწილადი კოდი ორობითი მნიშვნელობა თექვსმეტი მნიშვნელობა
0 0000 0 სთ 0 0000 0 სთ
1 0001 1სთ 1 0001 1სთ
2 0010 2სთ 3 0011 3 სთ
3 0011 3 სთ 2 0010 2სთ
4 0100 4სთ 6 0110 6სთ
5 0101 5სთ 7 0111 7სთ
6 0110 6სთ 5 0101 5სთ
7 0111 7სთ 4 0100 4სთ
8 1000 8 სთ 12 1100
9 1001 9სთ 13 1101 დჰ
10 1010 აჰ 15 1111 ფჰ
11 1011 ბჰ 14 1110 ეჰ
12 1100 10 1010 აჰ
13 1101 დჰ 11 1011 ბჰ
14 1110 ეჰ 9 1001 9სთ
15 1111 ფჰ 8 1000 8 სთ

გრეის კოდის ჩვეულებრივ ბინარულ კოდზე გადაყვანა შეიძლება განხორციელდეს მარტივი მიკროსქემის გამოყენებით ინვერტორებით და ექსკლუზიური ან კარიბჭით, როგორც ეს ნაჩვენებია ქვემოთ:

კოდი რუხი-ჭარბი

ჩვეულებრივი ერთსაფეხურიანი გრეის კოდი შესაფერისია რეზოლუციებისთვის, რომლებიც შეიძლება წარმოდგენილი იყოს 2-მდე გაზრდილი რიცხვის სახით. იმ შემთხვევებში, როდესაც საჭიროა სხვა ნებართვების დანერგვა, შუა განყოფილება ამოიჭრება ჩვეულებრივი გრეის კოდიდან და გამოიყენება. ამ გზით კოდი რჩება "ერთსაფეხურიანი". თუმცა, რიცხვითი დიაპაზონი არ იწყება ნულიდან, არამედ გადაინაცვლებს გარკვეული მნიშვნელობით. ინფორმაციის დამუშავებისას წარმოქმნილ სიგნალს აკლდება ნახევარი განსხვავება ორიგინალსა და შემცირებულ გარჩევადობას შორის. რეზოლუციები, როგორიცაა 360? კუთხის გამოხატვა ხშირად ამ მეთოდით ხორციელდება. ასე რომ, 9-ბიტიანი გრეის კოდი, რომელიც უდრის 512 საფეხურს, ორივე მხრიდან ამოჭრილი 76 ნაბიჯით, იქნება 360°-ის ტოლი.

მე გადავწყვიტე შემექმნა ისეთი ინსტრუმენტი, როგორიცაა ტექსტის გადაქცევა ორობით კოდში და პირიქით, არის ასეთი სერვისები, მაგრამ ისინი ჩვეულებრივ მუშაობენ ლათინური ანბანით, მაგრამ ჩემი თარჯიმანი მუშაობს უნიკოდის კოდირებით UTF-8 ფორმატში, რომელიც დაშიფვრავს კირიულ სიმბოლოებს ორ ბაიტში ამ დროისთვის მთარგმნელის შესაძლებლობები შემოიფარგლება ორმაგი ბაიტიანი კოდირებით, ე.ი. ჩინური სიმბოლოების თარგმნა შეუძლებელია, მაგრამ მე ვაპირებ გამოვასწორო ეს შემაშფოთებელი გაუგებრობა.

ტექსტის ორობით რეპრეზენტაციად გადაქცევაშეიყვანეთ ტექსტი მარცხენა ფანჯარაში და დააჭირეთ TEXT->BIN მარჯვენა ფანჯარაში გამოჩნდება მისი ორობითი წარმოდგენა.

ორობითი კოდის ტექსტად გადაქცევაშეიყვანეთ კოდი მარჯვენა ფანჯარაში და დააჭირეთ BIN->TEXT მარცხენა ფანჯარაში გამოჩნდება მისი სიმბოლური გამოსახულება.

თუ ორობითი კოდის ტექსტად თარგმნაან პირიქით, არ გამოვიდა - შეამოწმეთ თქვენი მონაცემების სისწორე!

განაახლეთ!

ახლა უკვე ხელმისაწვდომია ფორმის საპირისპირო ტექსტის ტრანსფორმაცია:

ნორმალურად დაბრუნება. ამისათვის თქვენ უნდა მონიშნოთ ყუთი: „შეცვალეთ 0 ინტერვალით, ხოლო 1 ჩანაცვლების ველით █“. შემდეგ ჩასვით ტექსტი მარჯვენა ველში: „ტექსტი ბინარულ წარმოდგენაში“ და დააწკაპუნეთ ღილაკზე მის ქვემოთ „BIN->TEXT“.

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

██ █ █ ███████ █ ██ ██ █ █ ███ ██ █ █ ██ █ ██ █ █ ██ █ ███ █ ██ █ █ ██ █ █ ███ ██ █ █ ███ ██ █ ██

და წითელ ფონზე:

██ █ █ ███████ █ ██ ██ █ █ ███ ██ █ █ ██ █ ██ █ █ ██ █ ███ █ ██ █ █ ██ █ █ ███ ██ █ █ ███ ██ █ ██

ხედავთ რამდენი ადგილის დაკარგვა შეგიძლიათ ბოლოს?

08. 06.2018

დიმიტრი ვასიაროვის ბლოგი.

ორობითი კოდი - სად და როგორ გამოიყენება?

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

დავიწყოთ ტერმინოლოგიით და გავარკვიოთ რას ნიშნავს ორობითი. დაზუსტებისთვის, დავუბრუნდეთ ჩვენს ჩვეულებრივ გამოთვლას, რომელსაც ეწოდება "ათწილადი". ანუ ვიყენებთ 10 ციფრს, რაც შესაძლებელს ხდის სხვადასხვა ნომრებით მოხერხებულად მუშაობას და შესაბამისი ჩანაწერების შენახვას.

ამ ლოგიკის მიხედვით, ორობითი სისტემა ითვალისწინებს მხოლოდ ორი სიმბოლოს გამოყენებას. ჩვენს შემთხვევაში, ეს არის მხოლოდ "0" (ნულოვანი) და "1" ერთი. და აქ მინდა გაგაფრთხილოთ, რომ ჰიპოთეტურად შეიძლება იყოს სხვა სიმბოლოები მათ ადგილას, მაგრამ ეს არის ზუსტად ეს მნიშვნელობები, რომლებიც მიუთითებს არარსებობაზე (0, ცარიელი) და სიგნალის არსებობაზე (1 ან "ჯოხი"), რაც დაგეხმარებათ. ჩვენ კიდევ გვესმის ორობითი კოდის სტრუქტურა.

რატომ არის საჭირო ბინარული კოდი?

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

მათმა შემდგომმა გართულებამ განაპირობა პირველი პროცესორების გაჩენა, რომლებმაც ასევე გააკეთეს თავიანთი საქმე, ამუშავებდნენ სიგნალს, რომელიც შედგებოდა გარკვეული გზით მონაცვლეობით პულსებისგან. ჩვენ ახლა არ ჩავუღრმავდებით პროგრამის დეტალებს, მაგრამ ჩვენთვის მნიშვნელოვანია შემდეგი: აღმოჩნდა, რომ ელექტრონულ მოწყობილობებს შეუძლიათ განასხვავონ შემომავალი სიგნალების მოცემული თანმიმდევრობა. რა თქმა უნდა, შესაძლებელია პირობითი კომბინაციის აღწერა ასე: „არსებობს სიგნალი“; "სიგნალი არ არის"; "არსებობს სიგნალი"; "არის სიგნალი." თქვენ შეგიძლიათ გაამარტივოთ აღნიშვნა: "არსებობს"; "არა"; "Იქ არის"; "Იქ არის".

მაგრამ ბევრად უფრო ადვილია სიგნალის არსებობის აღნიშვნა ერთეულით "1" და მისი არარსებობა ნულოვანი "0". ამის ნაცვლად ჩვენ შეგვიძლია გამოვიყენოთ მარტივი და ლაკონური ორობითი კოდი: 1011.

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

მაგრამ მათი ჩასაწერად გამოიყენება იგივე ორობითი კოდი, რომელიც შედგება ნულებისა და ერთებისგან, რომლებიც შეესაბამება სიგნალის არსებობას ან არარსებობას. არსებობს თუ არა ის, არ აქვს მნიშვნელობა. ჩიპისთვის, ამ ვარიანტებიდან ნებისმიერი არის ინფორმაციის ერთი ნაწილი, რომელსაც ეწოდება "ბიტი" (ბიტი არის ოფიციალური საზომი ერთეული).

პირობითად, სიმბოლო შეიძლება იყოს კოდირებული, როგორც რამდენიმე სიმბოლოს თანმიმდევრობა. ორ სიგნალს (ან მათ არარსებობას) შეუძლია აღწეროს მხოლოდ ოთხი ვარიანტი: 00; 01;10; 11. კოდირების ამ მეთოდს ორბიტიანი ეწოდება. მაგრამ ეს ასევე შეიძლება იყოს:

  • ოთხბიტიანი (როგორც 1011 პუნქტის ზემოთ მოცემულ მაგალითში) საშუალებას გაძლევთ დაწეროთ 2^4 = 16 სიმბოლოების კომბინაცია;
  • რვა ბიტიანი (მაგალითად: 0101 0011; 0111 0001). ერთ დროს ის იყო ყველაზე დიდი ინტერესი პროგრამირების მიმართ, რადგან ის ფარავდა 2^8 = 256 მნიშვნელობას. ამან შესაძლებელი გახადა ყველა ათობითი ციფრის, ლათინური ანბანის და სპეციალური სიმბოლოების აღწერა;
  • თექვსმეტი ბიტიანი (1100 1001 0110 1010) და უფრო მაღალი. მაგრამ ასეთი სიგრძის ჩანაწერები უკვე თანამედროვე, უფრო რთული ამოცანებისთვისაა. თანამედროვე პროცესორები იყენებენ 32 და 64 ბიტიან არქიტექტურას;

გულწრფელად რომ ვთქვათ, არ არსებობს ერთი ოფიციალური ვერსია, მაგრამ მოხდა ისე, რომ ეს იყო რვა სიმბოლოს კომბინაცია, რომელიც გახდა შენახული ინფორმაციის სტანდარტული საზომი, რომელსაც ეწოდება "ბაიტი". ეს შეიძლება გამოყენებულ იქნას თუნდაც 8-ბიტიან ბინარულ კოდში დაწერილ ერთ ასოზე. ასე რომ, ჩემო ძვირფასო მეგობრებო, გთხოვთ გახსოვდეთ (თუ ვინმემ არ იცოდა):

8 ბიტი = 1 ბაიტი.

ასეა. მიუხედავად იმისა, რომ 2 ან 32-ბიტიანი მნიშვნელობით დაწერილ სიმბოლოს ნომინალურად შეიძლება ეწოდოს ბაიტი. სხვათა შორის, ორობითი კოდის წყალობით შეგვიძლია შევაფასოთ ბაიტებით გაზომილი ფაილების მოცულობა და ინფორმაციისა და ინტერნეტის გადაცემის სიჩქარე (ბიტი წამში).

ორობითი კოდირება მოქმედებაში

კომპიუტერებისთვის ინფორმაციის ჩაწერის სტანდარტიზებისთვის, შეიქმნა რამდენიმე კოდირების სისტემა, რომელთაგან ერთ-ერთი, ASCII, რომელიც დაფუძნებულია 8-ბიტიან ჩაწერაზე, ფართოდ გავრცელდა. მასში არსებული მნიშვნელობები ნაწილდება სპეციალური გზით:

  • პირველი 31 სიმბოლო არის საკონტროლო სიმბოლო (00000000-დან 00011111-მდე). ემსახურება სერვისის ბრძანებებს, პრინტერზე ან ეკრანზე გამომავალს, ხმის სიგნალებს, ტექსტის ფორმატირებას;
  • შემდეგი 32-დან 127-მდე (00100000 – 01111111) ლათინური ანბანი და დამხმარე სიმბოლოები და პუნქტუაციის ნიშნები;
  • დანარჩენი, 255-მდე (10000000 – 11111111) – ალტერნატივა, ცხრილის ნაწილი სპეციალური ამოცანებისა და ეროვნული ანბანების ჩვენებისთვის;

მასში არსებული მნიშვნელობების დეკოდირება ნაჩვენებია ცხრილში.

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

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

ახლა, ჩემო ცნობისმოყვარე მეგობრებო, თქვენ არა მხოლოდ იცით რა არის ორობითი კოდი, არამედ იცით, როგორ გადაიყვანოთ მის მიერ დაშიფრული ინფორმაცია.

თანამედროვე ტექნოლოგიებისთვის გასაგები ენა

რა თქმა უნდა, პროცესორული მოწყობილობების მიერ ბინარული კოდის წაკითხვის ალგორითმი ბევრად უფრო რთულია. მაგრამ თქვენ შეგიძლიათ გამოიყენოთ ის, რომ ჩაწეროთ ყველაფერი, რაც გსურთ:

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

გარდა ამისა, "პრეზენტაციის" სიმარტივის გამო, შესაძლებელია ორობითი ინფორმაციის ჩაწერის სხვადასხვა გზა:

  • მაგნიტური ველის შეცვლით ;
  • ორობითი კოდირების უპირატესობებს ავსებს ინფორმაციის გადაცემის თითქმის შეუზღუდავი შესაძლებლობები ნებისმიერ მანძილზე. ეს არის კომუნიკაციის მეთოდი, რომელიც გამოიყენება კოსმოსურ ხომალდებთან და ხელოვნურ თანამგზავრებთან.

    ასე რომ, დღეს ორობითი რიცხვების სისტემა არის ენა, რომელსაც ესმის ჩვენ მიერ გამოყენებული ელექტრონული მოწყობილობების უმეტესობა. და რაც ყველაზე საინტერესოა, სხვა ალტერნატივა ჯერჯერობით არ არის გათვალისწინებული.

    ვფიქრობ, რომ ჩემს მიერ წარმოდგენილი ინფორმაცია სავსებით საკმარისი იქნება თქვენთვის დასაწყებად. შემდეგ კი, თუ ასეთი საჭიროება გაჩნდება, ყველას შეეძლება ჩაუღრმავდეს ამ თემის დამოუკიდებელ კვლევას.

    დაგემშვიდობები და მცირე შესვენების შემდეგ მოგიმზადებ ახალ სტატიას ჩემს ბლოგზე რაიმე საინტერესო თემაზე.

    ჯობია შენ თვითონ მითხრა ;)

    Მალე გნახავ.

    კომპიუტერებს არ ესმით სიტყვები და რიცხვები ისე, როგორც ადამიანებს. თანამედროვე პროგრამული უზრუნველყოფა საშუალებას აძლევს საბოლოო მომხმარებელს უგულებელყოს ეს, მაგრამ ყველაზე დაბალ დონეზე თქვენი კომპიუტერი მუშაობს ორობითი ელექტრული სიგნალით, რომელიც აქვს მხოლოდ ორი სახელმწიფო: არის თუ არა მიმდინარე. რთული მონაცემების „გაგებისთვის“, თქვენმა კომპიუტერმა უნდა დაშიფროს ისინი ორობით ფორმატში.

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

    დათვლა ორობით ფორმატში

    ორობით გამოხატულებაში, პირველი ციფრი უდრის 1-ს ათობითი სისტემაში. მეორე ციფრი არის 2, მესამე არის 4, მეოთხე არის 8 და ასე შემდეგ - ყოველ ჯერზე გაორმაგდება. ყველა ამ მნიშვნელობის დამატება მოგცემთ რიცხვს ათობითი ფორმატში.

    1111 (ორობითად) = 8 + 4 + 2 + 1 = 15 (ათწილადში)

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

    უნდა ითქვას, რომ არსებობს კიდევ ერთი ძირითადი სისტემა, რომელიც გამოიყენება პროგრამირებაში: თექვსმეტობითი. მიუხედავად იმისა, რომ კომპიუტერები არ მუშაობენ თექვსმეტობით ფორმატში, პროგრამისტები იყენებენ მას ორობითი მისამართების წარმოსაჩენად ადამიანის მიერ წასაკითხად ფორმატში კოდის დაწერისას. ეს იმიტომ ხდება, რომ თექვსმეტობით რიცხვში ორი ციფრი შეიძლება წარმოადგენდეს მთლიან ბაიტს, რაც ნიშნავს, რომ ისინი ცვლის რვა ციფრს ბინარში. თექვსმეტობითი სისტემა იყენებს 0-9 რიცხვებს, ასევე ასოებს A-დან F-მდე, რათა შექმნას დამატებითი ექვსი ციფრი.

    რატომ იყენებენ კომპიუტერები ბინარულ ფაილებს?

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

    მათთვის, ვინც არ იცის, რატომ არის "გამორთვა" წარმოდგენილი დადებითი მუხტით, ეს იმიტომ ხდება, რომ ელექტრონებს აქვთ უარყოფითი მუხტი, ხოლო მეტი ელექტრონი ნიშნავს მეტ დენს უარყოფითი მუხტით.

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

    აქ მოცემულია ტიპიური ტრანზისტორის დიაგრამა:

    არსებითად, ის საშუალებას აძლევს დენს მიედინება წყაროდან დრენაჟამდე, თუ დენი არის კარიბჭეში. ეს ქმნის ორობით კლავიშს. მწარმოებლებს შეუძლიათ გააკეთონ ეს ტრანზისტორები წარმოუდგენლად პატარა - 5 ნანომეტრამდე, ან დნმ-ის ორი ჯაჭვის ზომის. ასე მუშაობენ თანამედროვე პროცესორები და მათაც კი შეიძლება შეექმნათ პრობლემები ჩართვისა და გამორთვის მდგომარეობების გარჩევისას (თუმცა ეს გამოწვეულია მათი არარეალური მოლეკულური ზომის გამო. კვანტური მექანიკის უცნაურობა).

    რატომ მხოლოდ ორობითი სისტემა

    ასე რომ, თქვენ შეიძლება იფიქროთ: „რატომ მხოლოდ 0 და 1? რატომ არ დაამატე სხვა ნომერი? მიუხედავად იმისა, რომ ეს ნაწილობრივ განპირობებულია კომპიუტერების შექმნის ტრადიციებით, ამავდროულად, სხვა ციფრის დამატება ნიშნავს დენის სხვა მდგომარეობის განსხვავების აუცილებლობას და არა მხოლოდ „გამორთული“ ან „ჩართული“.

    პრობლემა აქ არის ის, რომ თუ გსურთ გამოიყენოთ ძაბვის რამდენიმე დონე, გჭირდებათ საშუალება, რომ მარტივად შეასრულოთ გამოთვლები მათზე, ხოლო მიმდინარე აპარატურა, რომელსაც ამის უნარი აქვს, არ არის ეფექტური, როგორც ორობითი გამოთვლების შემცვლელი. მაგალითად, არსებობს ე.წ სამმაგი კომპიუტერი, განვითარდა 1950-იან წლებში, მაგრამ განვითარება იქ შეჩერდა. სამეული ლოგიკა უფრო ეფექტურია, ვიდრე ორობითი, მაგრამ ჯერ არ არის ეფექტური ჩანაცვლება ორობითი ტრანზისტორისთვის, ან თუნდაც არ არსებობს ტრანზისტორი იმავე პატარა მასშტაბით, როგორც ბინარული.

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

    ამრიგად, ბინარული მათემატიკა უფრო ადვილია კომპიუტერისთვის, ვიდრე სხვა ყველაფერი. ორობითი ლოგიკა ადვილად გარდაიქმნება ორობით სისტემებად, True და False შეესაბამება ჩართვის და გამორთვის მდგომარეობებს.

    ბინარული ჭეშმარიტების ცხრილს, რომელიც მუშაობს ორობით ლოგიკაზე, ექნება ოთხი შესაძლო გამოსავალი თითოეული ფუნდამენტური ოპერაციისთვის. მაგრამ, რადგან სამმაგი კარიბჭე იყენებს სამ შეყვანას, სამმაგი სიმართლის ცხრილს ექნება 9 ან მეტი. მიუხედავად იმისა, რომ ორობით სისტემას აქვს 16 შესაძლო ოპერატორი (2^2^2), სამეულ სისტემას ექნება 19683 (3^3^3). სკალირება ხდება პრობლემად, რადგან, მიუხედავად იმისა, რომ სამება უფრო ეფექტურია, ის ასევე ექსპონენტურად უფრო რთულია.

    Ვინ იცის?სამომავლოდ შეიძლება დავინახოთ სამიანი კომპიუტერები, რადგან ბინარული ლოგიკა აწყდება მინიატურიზაციის პრობლემებს. ამ დროისთვის, მსოფლიო გააგრძელებს ორობით რეჟიმში მუშაობას.

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

    როგორ ახერხებს კომპიუტერი ასეთი მრავალფეროვანი ინფორმაციის დამუშავებას?
    საიდუმლო ორობითი რიცხვების სისტემაშია. ყველა მონაცემი შედის კომპიუტერში, წარმოდგენილია ერთებისა და ნულების სახით, რომელთაგან თითოეული შეესაბამება ელექტრული მავთულის ერთ მდგომარეობას: პირები - მაღალი ძაბვა, ნულები - დაბალი, ან ერთები - ძაბვის არსებობა, ნულები - მისი არარსებობა. მონაცემების ნულებად და ერთებად გადაქცევას ორობითი კონვერტაცია ეწოდება, ხოლო მის საბოლოო აღნიშვნას ორობითი კოდი.
    ათობითი აღნიშვნით, ყოველდღიურ ცხოვრებაში გამოყენებული ათობითი რიცხვების სისტემაზე დაყრდნობით, რიცხვითი მნიშვნელობა წარმოდგენილია ათი ციფრით 0-დან 9-მდე, ხოლო რიცხვის თითოეულ ადგილს აქვს მნიშვნელობა ათჯერ უფრო მაღალი ვიდრე ადგილი მარჯვნივ. ათწილადის სისტემაში ცხრაზე მეტი რიცხვის წარმოსადგენად, მის ადგილას არის ნული, ხოლო მარცხნივ შემდეგ, უფრო ღირებულ ადგილას მოთავსებულია ერთი. ანალოგიურად, ბინარულ სისტემაში, რომელიც იყენებს მხოლოდ ორ ციფრს - 0 და 1, თითოეული ადგილი ორჯერ უფრო ღირებულია, ვიდრე ის ადგილი მარჯვნივ. ამრიგად, ბინარულ კოდში მხოლოდ ნული და ერთი შეიძლება იყოს წარმოდგენილი როგორც ერთი რიცხვი, ხოლო ერთზე მეტი ნებისმიერი რიცხვი მოითხოვს ორ ადგილს. ნულის და ერთის შემდეგ, შემდეგი სამი ორობითი რიცხვია 10 (წაიკითხეთ ერთი-ნული) და 11 (წაიკითხეთ ერთი-ერთი) და 100 (წაიკითხეთ ერთი-ნულოვანი-ნული). 100 ორობითი უდრის 4 ათობითი. ზედა ცხრილი მარჯვნივ აჩვენებს სხვა BCD ეკვივალენტებს.
    ნებისმიერი რიცხვი შეიძლება გამოისახოს ორობითში, ის უბრალოდ იკავებს მეტ ადგილს ვიდრე ათობითი. ანბანი ასევე შეიძლება დაიწეროს ორობით სისტემაში, თუ თითოეულ ასოს ენიჭება გარკვეული ბინარული ნომერი.

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

    ბიტები და ბაიტები

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

    ორობითი კონვერტაცია. ოთხნიშნა ორნიშნა კოდი შეიძლება წარმოადგენდეს ათობითი რიცხვებს 0-დან 15-მდე.

    კოდების ცხრილები

    როდესაც ორობითი კოდი გამოიყენება ანბანის ასოების ან პუნქტუაციის ნიშნების წარმოსაჩენად, საჭიროა კოდის ცხრილები, რომლებიც მიუთითებენ რომელი კოდი რომელ სიმბოლოს შეესაბამება. შედგენილია რამდენიმე ასეთი კოდი. კომპიუტერების უმეტესობა კონფიგურირებულია შვიდნიშნა კოდით, სახელწოდებით ASCII, ან ამერიკული სტანდარტული კოდი ინფორმაციის გაცვლისთვის. ცხრილი მარჯვნივ აჩვენებს ASCII კოდებს ინგლისური ანბანისთვის. სხვა კოდები არის მსოფლიოს სხვა ენების ათასობით სიმბოლოსა და ანბანისთვის.

    ASCII კოდის ცხრილის ნაწილი



    გაქვთ შეკითხვები?

    შეატყობინეთ შეცდომას

    ტექსტი, რომელიც გაეგზავნება ჩვენს რედაქტორებს: