2-amaliy ish Arifmetik amallar bilan ishlash
Bu erda har bir raqamni qiymati uning sondagi joylashuviga bog’liq (pozitsiyasiga). 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 (yani, qisman pozitsion, qisman nopozitsion) sanoq tizimi hisoblanadi.Masalan, VII, VI, IV. Lekin albatta bir-biriga nisbatan ushbu raqamlar joylanishini hisobga olish kerak.
VII=5+1+1=7
VI=5+1=6
IV=5-1=4
Sonnni pozitsion izimida tasvirlash uchun foydalanadigan turli raqamlarni qiymati (soni) sanoq tizimini asosi R hisoblanadi. Raqamlarni qiymati 0 dan (R-1)gacha.
Umuman aytganda, siz istagan N sonni “R” 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';
(1)
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 R=2 va u malumotni taqdimlash uchun atigi ikki raqamdan foydalanadi:0 va l.Bir sanoq tizimidan boshqa sanoq tizimiga o’tkazish qoidalari mavjud, ular ichida (1) ham bor.
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 (1) formuladan foydalanish mumkin.
Wnlik tizimidan istalgan asosli sanoq tizimiga o’tkazish uchun (1) formuladan foydalanish qiyin. Osonlashtirish maqsadida o’nlik sonni butun qismini alohida va kasr qismini ham alohida ikkilik tizimiga o’tkazish maqul.
Butun qism, keyin esa bo’lingan qismni ham ketma-ket sanoq tizimining “R” asosiga bo’linadi. Ketma-ket bo’linishlar natijasida olingan natija “0”-ga aylansa, jarayon to’xtaydi.
Butun qismi 46 sonini alohida o’tkazib olamiz.
Masalan, 46,625ю^(2) o’nlik sanoq tizimidan ikkilik sanoq tizimiga o’tkazamiz.
625*2=1,250;
250*2=0,500;
0,,500*2=1,000 (kasrqismi 0-ga teng).
Olingan natijalardagi butun qismini chapdan o’ngga (yuqoridan pastga) ketma-ket yozib chiqamiz - 0,101 yani, 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 malumotlarni kompyuterga kiritishda va dasturlashda ishlatilsa (masalalarni tayyorlash va dasturlashga qulay), 16 lik Qoldiqlarni o’ngdan chapga yozamiz :101110=46ю
Kasr qismini ikkilik tizimiga alohida o’tkazamiz: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)=3A(16) teng bo’lar ekan.
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 emaslar.
Qo’shish misoli Ayirish misoli
+ 0000 1101
1000001(2)
Qo’shimcha kod
Razryadlar
7
|
6
|
5
|
4
|
3
|
2
|
1
|
0
|
|
|
|
|
|
|
|
|
128
|
64
|
32
|
16
|
8
|
4
|
2
|
1
|
Razryadlar
7
|
6
|
5
|
4
|
3
|
2
|
1
|
0
|
|
|
|
|
|
|
|
|
(+)
|
64
|
32
|
16
|
8
|
4
|
2
|
1
|
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 hujayralarini tasvirini keltiramiz:
a)ikkilik pozitsiyalarini joylashishi;
b)musbat sonlarni ishora bitida ifodalash;
ikkilik pozitsiyalarini vaznlari ishora biti
Razryadlar
(-) I
ishora biti Qo’shimcha kod
v) manfiy sonlarni ishora bitida ifodalash
1-rasm. MP registrining tasviri.
1-rasmda 8-razryadli namunaviy registrlar strukturasi keltirilgan. Odatda 7-bit ishorali bit hisoblanadi. Agar son musbat bo’lsa, 7-bitga “0” yoziladi, agar son manfiy bo’lsa, 7-bitga “1” yani, “-” yoziladi.
Wnliklar
ishorali sonlar
ilova
Jadval.
+127
|
0111 1111
|
Musbat sonlar to’g’ri ikkilik sonlarni shakli ko’rinishida taqdim qilinganlar.
|
|
|
+8
|
0000 1000
|
+7
|
00000111
|
+6
|
00000110
|
+5
|
00000101
|
+4
|
00000100
|
|
+3
|
00000011
|
|
+2
|
00000010
|
|
+1
|
00000001
|
|
0
|
00000000
|
|
-1
|
11111111
|
|
-2
|
11111110
|
Manfiy sonlar esa qo’shimcha kodda [yani, razryadlarni jami teskari kodga aylantiriladi va oxirgi(kichik) razryadga 1 qo’shiladi] tasvirlangan.
|
-3
|
11111101
|
-4
|
11111100
|
-5
|
11111011
|
-6
|
11111010
|
-7
|
11111001
|
-8
|
11111000
|
|
|
|
-128
|
10000000
|
|
Qo’shimcha kodda arifmetika
MP qo’shimcha kodda amallar bajarishining sabablari bu - uni inversiyalash (teskari kodga aylantirish) va inkrementlash (songa “1” ni qo’shish) amallami bajarishga imkoni borligi hisoblanadi. Biz o’rgangan holda (yani, to’g’ri hisoblashni) bilmaydi. Uning tarkibida faqat jamlagichlar bor, shuning uchun ayirish amallarini bajarish uchun MP qo’shimcha koddan foydalanadi.
“5” va “3” sonlarini qo’shamiz (qo’shimcha kodda).
Wnlik ko’rinishda: ikkilikda:
(+5) 00000101
+ (+3) +00000011
(+8) 00001000 (2)=8(10)
Musbat sonlarni qo’shimcha kodlari to’g’ri kodlardan farqlanmaydi.
“+7” va “-3” sonlarini qo’shamiz. Qo’shimcha kodda ushbu sonlar: +7(10)=0000 0111(2) va - 3(10)=1111 1101(2). Ularni oddiy sonlardek jamlaymiz:
1-son
|
(+7)
|
0000 0111
|
|
+
|
+
|
2-son
|
(-3)
|
1111 1101
|
(+4) 100000100
To’lib ketishi
Eng katta bit bu erda 8 razryadli registrni to’lib ketishi natijasida u tashlab yuboriladi va natija quyidagicha bo’ladi: 0000 0100(2) yani, “+4(10)”
Endi “+3” va “-8” sonlarini qo’shamiz. Qo’shimcha kodda ushbu sonlar: +3(10)=0000 0111(2) va -3(10)=1111 1101(2). Ularni oddiy ikkilik sonlardek jamlaymiz:
1-son (+3) 0000 0011
2-son (-8) 1111 1000
(-5) 1111 1011
Kompyuterda sonlarni ifodalash
Kompyuterda sonlarni ikki xil shaklda ifodalash mumkin:
Tabiiy shakl, yani qo’zg’almas nuqtali shakl;
Normal shakl, yani suzuvchi nuqtali shakl.
Qo’zg’almas nuqtali shaklda sonlarni butun qismini kasr qismidan ajratib turgan nuqta (vergul) doimo joyida turadi. Masalan, 10-lik tizimida keltirilgan sonni butun qismigacha 5-ta razryad, kasr qismiga esa 5 ta razryad ajratilgan bo’lsa, ushbu razryad setkasiga joylashgan sonlarni ko’rinishi quyidagicha bo’ladi:
+00721,35500
+00000,00325
-10211,20260
Ushbu shakl eng oddiy va tabiiy, lekin sonlarni ifodalash diapazoni tor. Shuning uchun ko’pincha ushbu shakl hisob-kitoblarga to’g’ri kelmaydi. Masalan, sonlarni ko’paytirishda , ko’pincha butun razryadlar to’lib toshib ketishi mumkin keyinchalik hisoblashlarni davom etishning manosi yo’qoladi. Zamonaviy kompyuterlarda ushbu shakl faqat butun sonlarni qayta ishlashda yordamchi shakl sifatida ishlatiladi. Kompyuterni xotirasida ushbu shakldagi sonlar uch formatda saqlanishi mumkin:
Yarim so’z - odatda 16 bit (ikkita bayt);
So’z - 32 bit (4 bayt);
ikkitalik so’z - 64 bit (8 bayt).
Agar qo’zg’almas nuqtali son manfiy bo’lsa, u razryad setkaga qo’shimcha kod ko’rinishida yoziladi.
Suzuvchi nuqtali (vergulli) shaklda son ikki xil ko’rinishdagi raqamlarda ifodalanadi: mantissa va tartib guruhlar. Ushbu holda mantissani absolyut qiymati 1-dan kam bo’lib, tartibi esa butun son bo’lishi kerak. Sonni umumiy ko’rinishi quyidagidek bo’lishi kerak:
N=±M*P±r
Bu erda, M - sonni mantissasi (|M|<1);
r- sonni tartibi (butun son);
r- sanoq tizimini asosi.
Masalan, yuqorida keltirilgan sonlar normallashtirilgan ko’rinishda quyidagidek yoziladilar:
+00721355*103
+325*10"3
-102112026*105
Normal shakl berilgan sonni katta diapazonini taminlashi uchun u, zamonaviy kompyuterlarda asosiy shakl sifatida qabul qilingan. Masalan, R=2, m=22 va r=10 bo’lsa, sonni diapazoni taxminan 10"300 dan 10300 gacha bo’lishi mumkin.
Aytib o’tish kerakki, suzuvchi vergulli sonlarni hammasi xotirada normallashtirilgan ko’rinishda saqlanadi. Demak, ikkilik sonlar uchun 0,5<|M|<1 ifoda o’rinli.
Komyuterlarni razryad setkasi ushbu shaklda yozilgan ikkilik son uchun quyidagi tuzilishga ega:
nolinchi razryad - bu sonni belgisi (0-musbat, 1-manfiy);
1 dan 7-razryadgacha to’g’ri ikkilik kodda tartib yoziladi, bo’sh razryadlar nol bilan to’ldiriladi. Tartibga tegishli birinchi razryadda tartibni ishorasi yoziladi;
8 dan 31 (yoki 63) gacha mantissa chapdan o’ngga yoziladi va bo’sh razryadlar nol bilan to’ldiriladi.
TOPShlRIQLAR
873,9X(io)^(2)
Quyidagi ikkilik sonlarni 10-lik kodiga aylantiring: a) 100000001; b) 000100011; v) 001100111;
Quyidagi o’nlik sonlarni 2-lik kodiga aylantiring: a) 23X; b)39X; v) 55X; g)48X;
XF(16) ^(2); CXE(16) ^(2); 6DX(16)^(2).
a)010110X
|
b)001111X
|
0000X11
|
000X111
|
Quyidagi ikkilik sonlarni qo’shing:
izoh: X harfning o’rniga guruhingizdagi tartib raqamingizni qo’yib misollarni eching. Kerakli joyda uni boshqa sanoq tizimiga o’zgartirib, misolni eching.1>
Do'stlaringiz bilan baham: |