თქვენ თითქმის ნამდვილად გსმენიათ უარყოფითი რიცხვების შესახებ. თუ კომპიუტერულ მეცნიერებათა სამყაროს და კომპიუტერული პროგრამირების სამყაროს მცირედი გავლენაც კი მოუხდენიათ, ორობითი რიცხვების კონცეფცია სულაც არ არის უცხო. მაგრამ, თუ პირადად არ გაქვთ შესწავლილი პროგრამირების სამყარო, ალბათ არასდროს უმუშავიათ არსებითად ორობით რიცხვებთან.
იმის გამო, რომ კომპიუტერს არ შეუძლია თვითონ "იფიქროს" ან "გადაწყვიტოს", მაგრამ შეუსრულებელი სიზუსტით შეუძლია შეასრულოს შეკვეთილი ინსტრუქცია, მათემატიკოსები დიდი ხნის წინ მოვიდნენ კომპიუტერებს (ან საკმარისად მოთმინებით დაავადებულ ადამიანებს) საშუალება აქვთ გააკეთონ შეკრება, გამოკლება და სხვა მათემატიკური მოქმედებები მხოლოდ 0 და 1.
მაგრამ არსებობს თუ არა გზა, რომ დააკავშიროთ ეს ორი იდეა უარყოფითი რიცხვების მისაღებად? ისეთივე მარტივია, როგორც მანქანას ვუთხრათ, რომ მცირე რაოდენობის ჰორიზონტალური ზოლი დადოთ არსებული კალმისა და ქაღალდის წინ, ან "ბიტი და ბაიტი" ფაქტორი უფრო მეტ საქმეს აქცევს?
რა არის ორობითი რიცხვები?
კომპიუტერებს გადამუშავების უზარმაზარი ძალა აქვთ და ძველ კლინკერსაც კი შეუძლია შეასრულოს გამოთვლები ისეთი სიჩქარით, რაც გაუგებარიც კი აღმოჩნდება ყველაზე არითმეტიკულად ნიჭიერი ადამიანისთვის. მაგრამ ეს არ არის ტვინი და ერთადერთი გზა, რომ მათ გაუმკლავდნენ რთულ ინფორმაციას, არის ყველაფრის გადატანა ერთ ან ორ მდგომარეობაში, მაგალითად, ON ან OFF.
"კომპიუტერში-ესე" -ში ერთჯერადი 0 ან 1 მოიხსენიება, როგორც a ცოტა. ამ ჯგუფებში შედის nybble (4 ბიტი), კარგად ცნობილი ბაიტი (8), სიტყვა (1) და გრძელი სიტყვა (32).
ათობითი რიცხვები, რომლებსაც ჩვეულებრივ ხედავთ, მაგალითად 492 და 35, არის "ფუძე -10", რადგან მათში შედის 10 პროგრესული სიმბოლო (ციფრები 0-დან 9-მდე), რომლებიც "გადაბრუნება" შემდეგ ადგილას მარცხნივ - შემდეგი "ძალა 10". სამაგიეროდ, ორობითი რიცხვები მოიცავს მხოლოდ ორ სიმბოლოს (ციფრები 0 და 1) და არის "ბაზა -2". რიცხვის ბოლოდან ყოველი მარცხენა სვლა არის ორი მზარდი ძალა: ბოლო ციფრები წარმოადგენს 1-ს, შემდეგს 2, შემდეგ 4, 8, 16 და ასე შემდეგ
- ათობითი რიცხვი არის ნებისმიერი რიცხვი ბაზა -10 სისტემაში, არ არის აუცილებელი რიცხვი, რომელიც შეიცავს ათობითი წერტილს.
ორობითი რიცხვების მაგალითები
ორობითი "nybble" 0101-ს აქვს 1-იანი ადგილი 1-ე და 4-ე ადგილებზე და 0-ები მე -2 და მე -8 ადგილზე. ამრიგად, მისი ათობითი ეკვივალენტია 1 + 4 = 5.
ანალოგიურად, 1001 1100 ბაიტი ექვივალენტურია 128 + 16 + 8 + 4 (28 + 25 + 24 + 23) = 156.
შეავსებს ორობითი რიცხვი არის მხოლოდ ის ციფრი, რომელზეც ციფრებია "ჩართული". მაგალითად, 1001 1100 = 0110 0011 კომპლემენტი.
უარყოფითი რიცხვების ორობით გადაქცევა
როგორ გარდაქმნით უარყოფით ათობითი რიცხვს ორობით რიცხვში, ალბათ, განსხვავდება სხვა რიცხვითი გარდაქმნებისგან თქვენ შეასრულეთ, რადგან თქვენი გონება, თავისი შედარებითი სიბინძურის მიუხედავად, უმეტესწილად ბევრად უფრო მოქნილია, ვიდრე ნებისმიერი სხვა ᲞᲠᲝᲪᲔᲡᲝᲠᲘ. ამასთან, ეს არის პირდაპირი პროცესი.
გარდაქმნა ხდება ა ორი შეავსებს ორობით, რაც მოითხოვს პროგრამისტს, რომ კომპიუტერს დაავალოს 1-დან დაწყებული ნებისმიერი ორობითი რიცხვის ინტერპრეტაცია უარყოფითად. პროგრამა შემდეგ აყალიბებს შესაბამის დადებით რიცხვს ორობით, იღებს მის კომპლემენტს და ამატებს ერთს.
მაგალითად, given47 რიცხვის გათვალისწინებით, კომპიუტერი შექმნის ორობით რიცხვს +47 – ისთვის:
0001 1111
ამის დამატებაა:
1110 0000
ამის დამატება ერთი იძლევა:
1110 0001
გაითვალისწინეთ, რომ ამ ციფრებს კომპიუტერი "აწერს", რომ წამყვანი 1 უარყოფითი იყოს და შედეგების სხვაგვარად დამუშავება, ვიდრე უბრალოდ სიმბოლო 1-ით დაკავებული 2-ის სიმძლავრეების დამატება.