top of page
Post: Blog2_Post

İkili say sistemi

Bir gün Molla Nəsrəddindən soruşurlar ki, göydə neçə ulduz var. O da cavab verir: "Mənim eşşəyimin tükü qədər". Sualın müəllifi ona irad tutanda qarşılığında deyir ki, inanmırsan, ikisini də say, bax. Bəli, biz ulduzları saya bilmərik. Çünki onlar sonsuz saydadır və biz sonsuzluğu tam başa düşə bilmərik. Kompüterlər bir az bizdən az bildikləri üçün, ancaq 1-ə qədər saymağı bacarırlar: 0, 1. Necə ki, biz dördüncü ölçünü təsəvvür edə bilmirik və onun ancaq üçölçülü proyeksiyasını təsvir edə bilirik, onlar da eləcə onluq say sistemini anlamırlar və biz onlara hər nə desək, öz dillərində 0 və 1 kimi başa düşürlər. Bunu bir növ "True", "False" kimi başa düşə bilərik. Bu 0 və 1-lərin müxtəlif aranjemanları fərqli şeylər ifadə edir.

Belə say sistemi ikili say sistemi ("binary number system") adlanır. Təsəvvür edin ki, uzaqda məsafədə bir nəfərlə əlaqə saxlamaq istəyirsiniz, və danışmağa heç bir cihaz yoxdur. Sadcə 8 iri lampanız var. Və bu 8 lampanı yandırıb-söndürərək ona mesaj ötürə bilərsiniz. 8 lampanın müxtəif aranjemanları 1 hərfi ifadə edəcək. Eynən aşağıdakı şəkillər kimi.







Şəkildəki 0 və 1-lər hərəsi 1 bitdir. Hər hərf isə ikili say sistemində 8 bitə (1 bayta) bərabərdir. Yəni bizə verilən 8 lampanın bəzilərini sönük saxlayıb, bəzilərini yandırdıqda (və ya hamısını sönük, yaxud yanılı saxladıqda) hansısa hərf alınır. Hər lampa da 1 bitlik yaddaş tutur. Hərf özü isə 8 lampa ilə ifadə olunduğu üçün 8 bit yer tutur.


Kompüterlər də milyonlarla bu cür balaca "lampalar" - transitorlarla işləyir. Transitorlara ötürülən "0" və "1" impulsları (yəni lampanın yanılı, və ya sönük olması) nəticəsində "CPU" aktivləşir və kompüter bizim ona göndərdiyimiz veriləni "başa düşür". Bizim daxil etdiyimiz hər bir məlumat (ədəd, mətn, təsvir) kompüterin beyninə ikili say sistemində ötürülür.


Biz isə bu gün ədədlərin və hərflərin ikili say sisteminə necə "tərcümə olunduğunu" öyrənəcəyik.


Öncəliklə, gəlin onluq say sisteminin necə işlədiyinə yaxından baxaq:


Bu say sisteminin əsası 10-dur və bütün ədədlər 10 əsasında formalaşır:


Məsələn,


1) 405 = (5 * 10^0) + (0 * 10^1) + (4 * 10^2) = 5 * 1 + 0 * 10 + 4 * 100 = 5 + 0 + 400


2) 1276 = (6 * 10^0) + (7 * 10^1) + (2 * 10^2) + (1 * 10^3) = 6 * 1 + 7 * 10 + 2 * 100 + 1 * 1000 = 6 + 70 + 200 + 1000


3) 0.43 = (0 * 10^0) + (4 * 10^(-1)) + (3 * 10^(-2)) = 0 * 1 + 4 * 0.1 + 3 * 0.01 = 0 + 0.4 + 0.03


Təklik 10-nun 0-cı qüvvətində dayanır. Çünki 10^0 = 1. Təklikdən yuxarıdakı pillələr 10-un müsbət, aşağıdakı pillələr isə mənfi qüvvətləridir. Yəni 10 = 10^1, 0.1 = 10^(-1).


İkili say sistemində isə ədədlər 2-nin qüvvətləri əsasında formalaşır:


Məsələn,


1) 1001 = (1 * 2^0) + (0 * 2^1) + (0 * 2^2) + (1 * 2^3) =

= 1 * 1 + 0 * 2 + 0 * 4 + 1 * 8 = 1 + 0 + 0 + 8 = 9


İkili say sistemində yazılan ədədləri təklikdən başlayaraq (sağdan sola) 2^0 qüvvətindən başlayaraq hesablayıb onu onluq say sistemində yaza bilərik.


Onluq say sistemindəki ədədi ikili say sisteminə keçirmək üçün isə (cavab 0 alınana qədər) 2-yə bölərək qalığı yazmaq lazımdır. Sonra alınan qalıqları ardıcıl düzdükdə, cavabı almış oluruq.


Məsələn,

Bölünən

Bölmə

Bölən

Bərabərdir

Nisbət

Qalıq

9

:

2

=

4

1

4

:

2

=

2

0

2

:

2

=

1

0

1

:

2

=

0

1

Deməli, ikili say sistemində 9 = 1001.


Ya da ikinci bir metodla bir ədədin içində 2-nin ən böyük qüvvətini tapmaq lazımdır.


Məsələn,


1) 9 --> 9 - 2^3 = 9 - 8 --> 1 - 2^0 = 1 - 1 = 0


Sonra həmin qüvvətləri aşağıdakı kimi cəm halında yazırıq. Bizdə 2^3 2^0 alınmışdı. Bu iki qüvvətin arasında isə 2^2 2^1 qüvvətləri var. Onlar hesablamada qarşımıza çıxmadığı üçün əmsallarını 0 olaraq qeyd edirik. Necə ki, 405 ədədində 10^1 pilləsində əmsal 0-dır, burada da eyni məntiqdir: 2^2 2^1 pillələri boşdur və əmsal 0-dır.


1 * 2^3 + 0 * 2^2 + 0 * 2^1 + 1 * 2^0 = 1001

2) 15 --> 15 - 2^3 = 15 - 8 --> 7 - 2^2 = 7 - 4 --> 3 - 2^1 = 3 - 2 --> 1 - 2^0 = 1 - 1 = 0


Bu nümunədə isə bütün pillələrdə əmsal 1-ə bərabərdir:


2^3 + 2^2 + 2^1 + 2^0 = 1 * 2^3 + 1 * 2^2 + 1 * 2^1 + 1 * 2^0 = 1111


Bunu belə bir cədvəllə ifadə etmək olar:

Ədəd

2^0

2^1

2^2

2^3

2^4

2^5

9

1

0

0

1

0

0

10

0

1

0

1

0

0

15

1

1

1

1

0

0

18

0

1

0

0

1

0

Beləliklə,

9 = 1001

10 = 0101

15 = 1111

18 = 01001.

 

Qeyd: axırıncı 1-dən sonra gələn 0-lar ədədin tərkib hissəsi deyil və nəzərə alınmır.

 

Kəsr ədədlərdə də oxşar məntiq var: necə ki, onluq say sistemində kəsrlərin məxrəcini "10"-a gətiririk, ikili say sistemində də məxrəc 2 olur.


Yuxarıda demişdik ki, təklik pilləsində duran ədəd 10^0 qüvvətindədir. Təklikdən soldakı ədədlər 10-un daha yuxarı qüvvətləri (1, 2, 3, 4, və s.), təklikdən sağdaklar isə aşağı qüvvətləridir (-1, -2, -3, -4, və s.).


Bunu belə bir nümunə ilə göstərdik:


0.43 = (0 * 10^1) + (4 * 10^(-1)) + (3 * 10^(-2)) = 0 * 1 + 4 * 0.1 + 3 * 0.01 = 0 + 0.4 + 0.03


Deməli, ikili say sistemində pillələr ikinin qüvvətləri üzərindədirsə, o zaman kəsr hissəsindəki ədədlər də ikinin mənfi qüvvətlərindədir. Biz tam ədədləri ikili say sistemində göstərmək istəyəndə onun içində 2-nin ən böyük qüvvətini tapır, sonra yerdə qalan qalıq ədədin içində 2-nin növbəti ən böyük qüvvətini tapır və qalıq 0 olana qədər bu prosesi davam etdirirdik.


Kəsr ədədlərdə də eyni şəkildə hərəkət edəcəyik. Bu dəfə isə ədədin içində 2-nin mənfi qüvvətlərini axtaracağıq və yenə ən böyükdən, ən kiçiyə doğru hərəkət edəcəyik. Yəni ilk öncə 2^(-1)-ni axtaracağıq.


İlk olaraq, gəlin məxrəci 2-nin qüvvətləri, surətləri isə 1 ilə ifadə oluna bilən bəzi onluq kəsrlərə baxaq.


Məsələn, hamımız bilirik ki, 0.5 = 1/2, 0.25 = 1/4, və s.


1/2 = 0.5 = 5/(10^1) = 1/(2^1) = 1/2 = 0.1

1/4 = 0.25 = 25/(10^2) = 1/(2^2) = 1/4 = 0.01

1/8 = 0.125 = 125/(10^3) = 1/(2^3) = 1/8 = 0.001

1/16 = 0.0625 = 625/(10^4) = 1/(2^4) = 1/16 = 0.0001


Onluq say sistemində vergüllə yazdığımız onluq kəsrdə məxrəc 10 hesab edilir, ikili say sistemində də məxrəci iki olan "ikilik" kəsrlər, bu şəkildə göstərilir.


Daha sonra isə surətində 1-dən fərqli ədədlər ola bilən kəsrlərə baxaq:


3/4 = 0.75 = 0.5 + 0.25 = 1/2 + 1/4 = 0.1 + 0.01 = 0.101

3/8 = 0.375 = 0.25 + 0.125 = 1/4 + 1/8 = 0.01 + 0.001 = 0.011


Burada etdiyim şey kəsrləri surəti bir olan hissələr ayırmaqdır.

Məsələn, 3/41/2 + 1/4 kimi ifadə edirik. Daha sonra onları toplayırıq.


 

Qeyd: Burada vergüldən (nöqtədən) əvvəlki 0-ı tam hissə olan 0-ın ikilik say sistemindəki 0 kimi qəbul edə bilərik.


0 və 1 ədədləri həm onluq, həm ikilik say sistemində eyni cür ifadə olunur.

 

Yuxarıda göstərilən qaydada kəsr ədədləri ikili say sisteminə çevirmək elə də çətin deyil. Lakin daha bir üsul da var:


- Verilən kəsr ədədi 2-yə vururuq;

- Daha sonra bu cəmi tam və kəsr hissəyə ayırırıq;

- Kəsr hissəni yenidən 2-yə vururuq;

- Kəsr hissə 0-a bərabər olana qədər prosesi davam edirik;

- Ən sonda alınan tam hissələri alt-alta yazırıq və alınan ədəd bizim cavabımız olur.


0.375 * 2 = 0.75 = 0 + 0.75

0.75 * 2 = 1.5 = 1 + 0.5

0.5 * 2 = 1 = 1 + 0


Cavab: .011 (0.011)


 

Qeyd: əgər bir ədədin həm tam, həm kəsr hissəsi varsa, vergüldən sağda və solda yerləşən hissəni ayrı-ayrılıqda tapıb toplamaq lazımdır.

 

Məsələn,


9 = 1001

0.375 = 0.011


9 + 0.375 = 1001 + 0.011 = 1001.011


Bunu aşağıdakı kimi də başa düşmək olar:


1 * 2^3 + 0 * 2^2 + 0 * 2^1 + 1 * 2^0 + 0 * 2^(-1) + 1 * 2^(-2) + 1 * 2^(-3)

1 -------- 0 --------- 0 -------- 1 ----.---- 0 ---------- 1 ----------- 1 ---------


2-nin qüvvəti çoxdan aza ardıcıl sıralanır (onluq say sistemində olduğu kimi). Təklikdən sağdakı ədədlər 2-nin müsbət, soldakı ədədlər isə mənfi qüvvətidir.

 

Qeyd: Məxrəci 2-dən başqa ədədə bölünən kəsrləri ikilik say sisteminə tam keçirmək olmur. Necə ki, məxrəci 2 və 5-dən fərqli ədədlərə bölünən kəsrlər dövri kəsrlərə çevrilir, burada da eyni qayda mövcuddur.


Həmçinin qeyd etmək lazımdır ki, kompleks ədədlər də daxil olmaqla, bütün ədədlər ikilik say sistemində ifadə olunur. Lakin bu bir az mürəkkəb hesablama olduğu üçün gündəlik həyatda istifadə olunmur.

 

Hərflərin ikili say sistemində ifadəsi üçün əvvəlcə onları "ASCII" kodla ədəd çevirmək lazımdır. Daha sonra həmin ədədi onluq sistemdən ikili say sisteminə keçiririk:


Məsələn, C = 067 = 01000011


Son olaraq, sizin üçün onluq sistemdəki ədədləri ikili say sistemində yazan bir kod tərtib etdik:


Xoş həftəsonları

 

İstinadlar:


1,822 views0 comments

Recent Posts

See All

Comments


Digər

bottom of page