Amaliy ish №2.
Mavzu: Arifmetik-mantiqiy amallar bilan ishlash. Arifmetik va mantiqiy amallar buyruqlarining bajarilishini o'rganish.
Ishdan maqsad: Arifmetik va mantiqiy amallar buyruqlari haqida tushuncha hosil qilish
Nazariy qism
Mantiqiy amallar - dasturlashda mantiq algebrasidagi bayonotlar ustidagi ba'zi operatsiyalarga mos keladigan mantiqiy (mantiqiy) turdagi ifodalar ustidagi operatsiya. Takliflar singari, mantiqiy ifodalar ikkita haqiqiy qiymatidan birini olishi mumkin - "to'g'ri" yoki "noto'g'ri". Mantiqiy amallar oddiylaridan murakkab mantiqiy ifodalarni olish uchun ishlatiladi. O'z navbatida, mantiqiy ifodalar odatda dasturni bajarish ketma-ketligini nazorat qilish shartlari sifatida ishlatiladi.
Bu yerda har bir raqamning qiymati uning raqamdagi pozitsiyasiga bog'liq.
Masalan, 23=2*10+3
32=3*10+2
Ikkilik sanoq sistemasi oʻnlik sanoq sistemasiga (arab sanoq sistema) oʻxshash pozitsion sistemalarga kiradi.
VII=5+1+1=7
VI=5+1=6
IV=5-1=4
Raqamni pozitsion sistemada ifodalash uchun foydalaniladigan turli sonlarning qiymati (soni) R sanoq sistemasining asosi hisoblanadi.Raqam qiymatlari 0 dan (R-1) gacha.
Odatda, “R” ga asoslangan sanoq sistemasida kerakli N sonni quyidagi tartibda ifodalash 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 (1)
Quyidagi indekslar raqamli raqamning joylashishini ko'rsatadi: ijobiy indeks qiymatlari raqamning butun qismini (m-raqamlar), indekslar esa kasr qismini (S-raqamlari) ko'rsatadi. Ikkilik sanoq tizimining asosi R = 2 bo'lib, ma'lumotlarni ifodalash uchun faqat ikkita raqam qo'llaniladi: 0 va 1. Bir sanoq sistemasidan ikkinchisiga o'tkazish qoidalari mavjud, shu jumladan (1).
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, (1) formuladan raqamni har qanday pozitsion tizimdan o'nli tizimga aylantirish uchun foydalanish mumkin. O'nlik sanoq sistemasini istalgan tayanch sanoq sistemasiga aylantirish uchun (1) formuladan foydalanish qiyin. Oddiylik uchun o'nlik sonning butun qismini alohida ikkilik tizimga, kasr qismini esa alohida ikkilik tizimga aylantirish tavsiya etiladi.
1. Butun qism va keyin bo'lingan qism ham "R" seriyali raqam tizimining asosiga bo'linadi. Agar ketma-ket bo'linish natijasi "0" bo'lsa, jarayon to'xtaydi. Misol uchun, 46.62510 → (2) biz o'nlikdan ikkilikka o'tkazamiz.
46 butun sonni alohida bo’lib chiqamiz.
.
_
|
|
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Biz qoldiqlarni o'ngdan chapga yozamiz: 101110=4610
Kasr qismini ikkilikga aylantiramiz: raqamlar ikkilik sonlarni qisqartirish uchun qulaydir. Dasturlashda ko'pincha 16 bitli sanoq sistemasi qo'llaniladi.Bu tizimda 9 dan katta raqamlarni ifodalash uchun harflardan foydalaniladi: A=10, B=11, C=12, D=13, E=14, F=15.
Masalan, 16 raqami - F17B, ikkilik shaklda - 1111000101111011, o'nlik shaklda - 61819
Ikkilik sonni 16 ga aylantirish uchun siz ikkilik sonni kichik bitlardan tetradalarga bo'lishingiz kerak.
Masalan, 111010 (2) 16 likda bu raqamning ifodalanishi A = 1010, 3 = 0011
Shuning uchun 111010 (2) = 3A (16) ga teng bo'ladi
.
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 arifmetika
Mikroprotsessorlarda (MP) qo'shish, ayirish va ko'paytirish oddiy arifmetik amallar sifatida bajariladi. Ko'pgina MPlarda qo'shish va ayirish ko'rsatmalari mavjud, ammo ular ko'paytirish va bo'lish ko'rsatmalariga ega emas (masalan, Intel 8086, 8088).
Quyida ikkilik sonlarni qo‘shish, ayirish va ko‘paytirishga misollar keltirilgan.
Qo’shish Ayirish
00111011
+ 00101010
|
59
+42
|
01010101
-00111001
|
85
-57
|
01100101 (2)
|
101 (10)
|
00011100(2)
|
28(10)
|
Ko’paytirish
|
|
|
1101
* 101
|
|
13
* 5
|
|
|
1101
+ 0000
|
|
65 (10)
|
|
|
1101
|
|
|
|
|
1000001(2)
|
|
|
|
|
Qo’shimcha kod
Odatda kompyuter ma'lumotlarni ikkilik kodda qayta ishlaydi. Agar siz imzolangan raqamni qayta ishlashingiz kerak bo'lsa, u holda ikkalasining to'ldiruvchi kodi ishlatiladi. Qo'shimcha kodni tushuntirish uchun MP registrlarini yoki xotira kataklarini tasvirlaymiz:
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 sanoq sistemasi Bit belgisi
a) ikkilik pozitsiyalarning joylashishi; b) musbat sonlarning joylashishi
|
Razryadlar
|
|
7
|
6
|
5
|
4
|
3
|
2
|
1
|
0
|
|
1
|
|
|
|
|
|
|
|
|
(-)
|
|
|
|
|
|
|
|
Bit belgisi Qo’shimcha kod
в) manfiy sonlarni joylashishi
Rasm.1. MP registrining tasviri.
1-rasmda. 8-bitli registr namunasining tuzilishi ko'rsatilgan. Odatda yettinchi bit belgi biti hisoblanadi. Agar raqam musbat bo'lsa, - "0" , manfiy bo'lsa - "1" yoziladi.
2-jadval.
Do'stlaringiz bilan baham: |