№ 2 – amaliy mashg‘ulot
KOMPYUTERNI TASHKIL QILISHNING ARIFMETIK ASOSLARI. TURLI XIL SANOQ TIZIMLARIDA ARIFMETIK OPERATSIYALARNI BAJARISH.
Ishdan maqsad: Arifmetik va mantiqiy operatsiyalar haqida tasavvurga ega bo‘lish.
Mantiqiy operatsiya - dasturlashda mantiqiy algebradagi bayonotlar bo‘yicha ba'zi operatsiyalarga mos keladigan mantiqiy (Bul tipidagi) turdagi iboralar bo‘yicha operatsiya. Bayonotlar singari, mantiqiy iboralar ham ikkita haqiqat qiymatidan birini - "to‘g‘ri" yoki "yolg‘on"ni qabul qilishi mumkin. Mantiqiy operatsiyalar soddadan murakkab mantiqiy iboralarni olishga xizmat qiladi. O‘z navbatida, mantiqiy iboralar odatda dasturning ketma-ketligini boshqarish shartlari sifatida ishlatiladi.
Bu yerda har bir raqamning qiymati uning sondagi joylashuviga (pozitsiyaga) bog‘liq.
Masalan, 23=2*10+3
32=3*10+2
Ikkilik tizim o‘nlik tizimiga (arab tizimi) o‘xshab pozitsion tizimlar ichiga kiradi. Rim sanoq tizimi aralash (ya'ni, qisman pozitsion, qisman nopozitsion) sanoq tizimi hisoblanadi.
VII=5+1+1=7
VI=5+1=6
IV=5-1=4
Sonni pozitsion tizimida tasvirlash uchun foydalanadigan turli raqamlarni qiymati (soni) sanoq tizimini asosi P hisoblanadi. Raqamlarni qiymati 0 dan (p-1)gacha. Umuman aytganda, siz istagan N sonni “P” asosli sanoq tizimida quyidagi qator ko‘rinishida keltirish mumkin:
N=am-1 * Pm-1+am-2*Pm-2+…+ak*Pk+…+a1*P1+a0*P0+…+a-1*P-1+a-2*P-2+…+a-s*P-s
Pastdagi indekslar raqamli sondagi joylashuvini ko‘rsatadi: indekslarning musbat qiymatlari - sonning butun qismini (m-razryadlarini), manfiylari esa - kasrli qismini (S-razryadlarini) ko‘rsatadi.Ikkilik sanoq tizimini asosi P=2 va u ma'lumotni taqdimlash uchun atigi ikki raqamdan foydalanadi: 0 va 1. Bir sanoq tizimidan boshqa sanoq tizimiga o‘tkazish qoidalari mavjud.
Masalan,
101110,1012 =1*25+0*24+1*23+1*22+1*21+0*20+1*2-1+0*2-2*+1*2-3=46,62510
Shunday qilib, istalgan pozitsion tizimdan sonni o‘nlik tizimiga o‘tkazish uchun formuladan foydalanish mumkin. O‘nlik tizimidan istalgan asosli sanoq tizimiga o‘tkazish uchun formuladan foydalanish qiyin. Osonlashtirish maqsadida o‘nlik sonni butun qismini alohida va kasr qismini ham alohida ikkilik tizimiga o‘tkazish ma'qul.
Butun qism, keyin esa bo‘lingan qismni ham ketma-ket sanoq tizimining “P” asosiga bo‘linadi. Ketma-ket bo‘linishlar natijasida olingan natija “0”-ga aylansa, jarayon to‘xtaydi.
Masalan, 46,62510→(2) o‘nlik sanoq tizimidan ikkilik sanoq tizimiga o‘tkazamiz.
Butun qismi 46 sonini alohida o‘tkazib olamiz.
_
|
4
|
6
|
|
2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4
|
6
|
_
|
2
|
3
|
|
2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0
|
|
2
|
2
|
_
|
1
|
1
|
|
2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1
|
|
1
|
0
|
_
|
5
|
|
|
2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1
|
|
4
|
|
_
|
2
|
|
2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1
|
|
|
2
|
|
1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0
|
|
|
|
|
|
Qoldiqlarni o‘ngdan chapga yozamiz: 101110=4610
Kasr qismini ikkilik tizimiga alohida o‘tkazamiz:
0,625*2=1,250;
0,250*2=0,500;
0,500*2=1,000 (kasr qismi 0-ga teng).
Olingan natijalardagi butun qismini chapdan o‘ngga (yuqoridan pastga) ketma-ket yozib chiqamiz - 0,101 ya'ni, 0,625(10)=0,101(2).
Demak, oxirgi natija: 46,62510=101110,101(2).
Kompyuterda ishlashda 10-lik va 2-lik sanoq tizimlaridan tashqari ikkilik-o‘nlik va 16-lik sanoq tizimlari ishlatiladi. Ikkilik-o‘nlik tizimida har bir o‘nlik tizimiga tegishli raqam tetrada (4 ta ikkilik razryad) bilan belgilanadi. Masalan, 0=0000, 1=0001, 2=0010 va h.k.
327(10)= 0011 0010 0111
Ikkilik-o‘nlik tizim ma'lumotlarni kompyuterga kiritishda va dasturlashda ishlatilsa (masalalarni tayyorlash va dasturlashga qulay), 16 lik sonlar ikkilik sonlarni qisqartirish uchun qulay.
16-lik sanoq tizimi ko‘pincha dasturlashda ishlatiladi. Ushbu tizimda 9 raqamdan katta raqamni belgilash uchun harflardan foydalaniladi: A=10, V=11, S=12, D=13, E=14, F=15.
Masalan, 16-lik son F17B, ikkilik ko‘rinishda - 1111000101111011, o‘nlik ko‘rinishda - 61819 .
Ikkilik sonni 16-likga o‘tkazish uchun ikkilik sonni kichik bitlaridan boshlab, tetradalarga bo‘lib chiqish kerak.
Masalan, 111010(2) 16-likda ushbu sonni ko‘rinishi A=1010, 3=0011
Demak, 111010 (2)=3А(16) teng bo‘lar ekan.
2.1-jadval
10-lik
|
16- lik
|
Ikkilik
|
8
|
4
|
2
|
1
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
1
|
0
|
0
|
0
|
1
|
2
|
2
|
0
|
0
|
1
|
0
|
3
|
3
|
0
|
0
|
1
|
1
|
4
|
4
|
0
|
1
|
0
|
0
|
5
|
5
|
0
|
1
|
0
|
1
|
6
|
6
|
0
|
1
|
1
|
0
|
7
|
7
|
0
|
1
|
1
|
1
|
8
|
8
|
1
|
0
|
0
|
0
|
9
|
9
|
1
|
0
|
0
|
1
|
10
|
A
|
1
|
0
|
1
|
0
|
11
|
B
|
1
|
0
|
1
|
1
|
12
|
C
|
1
|
1
|
0
|
0
|
13
|
D
|
1
|
1
|
0
|
1
|
14
|
E
|
1
|
1
|
1
|
0
|
15
|
F
|
1
|
1
|
1
|
1
|
Ikkilik arifmetikasi
Mikroprotsessor (MP)larda qo‘shish, ayirish va ko‘paytirish oddiy arifmetik amallar singari bajariladi. Mikroprotsessorlarni ko‘pchiligi ikkilik sonlarni qo‘shish va ayirish buyruqlariga ega, lekin ularning kamchiligi (masalan, Intel 8086, 8088)ko‘paytirish va bo‘lish buyruqlariga ega emas.
Quyidagi rasmda ikkilik qo‘shish, ayirish va ko‘paytirishning oddiy qoidalari keltirilgan.
Qo‘shish Ayirish
00111011
+ 00101010
|
59
+42
|
01010101
-00111001
|
85
-57
|
01100101 (2)
|
101 (10)
|
00011100(2)
|
28(10)
|
Ko‘paytirish misoli
1101
* 101
|
|
13
* 5
|
1101
+ 0000
|
|
65 (10)
|
1101
|
|
|
1000001(2)
|
|
|
|
|
|
Qo‘shimcha kod
Odatda kompyuter axborotga ikkilik kodda ishlov beradi. Lekin, agar belgili sonlarga ishlov berish kerak bo‘lsa, u holda maxsus qo‘shimcha kod ishlatiladi. Qo‘shimcha kodni tushuntirish uchun quyida mikprotsessorni registrini yoki xotira yacheykalarini tasvirini keltiramiz:
Razryadlar
|
|
Razryadlar
|
7
|
6
|
5
|
4
|
3
|
2
|
1
|
0
|
|
7
|
6
|
5
|
4
|
3
|
2
|
1
|
0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
128
|
64
|
32
|
16
|
8
|
4
|
2
|
1
|
|
(+)
|
64
|
32
|
16
|
8
|
4
|
2
|
1
|
Ikkilik pozitsiyalarini vaznlari ishora biti
a)ikkilik pozitsiyalarini b)musbat sonlarni ishora
joylashishi; bitida ifodalash;
|
Razryadlar
|
|
7
|
6
|
5
|
4
|
3
|
2
|
1
|
0
|
|
1
|
|
|
|
|
|
|
|
|
(-)
|
|
|
|
|
|
|
|
Ishora biti Qo‘shimcha kod
v) manfiy sonlarni ishora bitida ifodalash
Odatda 7-bit ishorali bit hisoblanadi. Agar son musbat bo‘lsa, 7-bitga “0” yoziladi, agar son manfiy bo‘lsa, 7-bitga “1” ya'ni, “-” yoziladi.
2.2-jadval.
Dostları ilə paylaş: |