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 [ya'ni, 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) amallarni baarishga imkoni borligi hisoblanadi. Biz o‘rgangan holda (ya'ni, 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).
O‘nlik 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 yerda 8 razryadli registrni to‘lib ketishi natijasida u tashlab yuboriladi va natija quyidagicha bo‘ladi: 0000 0100(2) ya'ni, “+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-сон
(+3)
0000 0011
+
+
2-сон
(-8)
1111 1000
(-5)
1111 1011
Kompyuterda sonlarni ifodalash. Kompyuterda sonlarni ikki xil shaklda ifodalash mumkin:
1. Tabiiy shakl, ya'ni qo‘zg‘almas nuqtali shakl;
2. Normal shakl, ya'ni 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 bo’ladi. 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 ma'nosi yo‘qoladi. Zamonaviy kompyuterlarda ushbu shakl faqat butun sonlarni qayta ishlashda yordamchi shakl sifatida ishlatiladi. Kompyuterni xoirasida ushbu shakldagi sonlar uch formatda saqlanishi mumkin:
1. Yarim so‘z - odatda 16 bit (ikkita bayt);
2. So‘z - 32 bit (4 bayt);
3. 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 yerda, M - sonni mantissasi (׀M׀<1);
r- sonni tartibi (butun son);
p- sanoq tizimini asosi.
Masalan, yuqorida keltirilgan sonlar normallashtirilgan ko‘rinishda quyidagicha yoziladi:
+00721355*103 +325*10-3 -102112026*105 Normal shakl berilgan sonni katta diapazonini ta’minlashi 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 bilan 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.
2-amaliy ishni bajarish bo‘yicha topshiriqlar: 873,9Х (10) → (2)
11011011Х (2) → (10)
0.101100Х (2) → (10) va (16)
110111,01Х (2) → (10) va (16)
Quyidagi ikkilik sonlarni 10-lik sanoq sistemasiga o‘tkazing: а) 10000000Х; b) 00010000Х; v) 00110011Х; g) 01100100Х; d) 00011111Х; f) 11111111Х.
Quyidagi o‘nlik sonlarni 2-lik sanoq sistemasiga o‘tkazing::