Manfiy sonni qo’shimcha kodi quyidagicha hosil qilinadi:
Berilgan sonni musbatini to’g’ri kodi yoziladi;
to’gri kod inversilanadi, yani 0 raqami 1 bilan, 1 raqami 0 bilan almashtiriladi;
inversiya ko’rinishga 1 qo’shiladi.
Masalan, LongInt tipidagi -37 sonini qo’shimcha kodini hosil qilaylik:
37 ni to’g’ri kodi 00000000000000000000000000100101;
inversiyasi 11111111111111111111111111011010;
qo’shimcha kod 11111111111111111111111111011011 yoki FFFFFFDB16
Sonni qo’shimcha kodi berilgan bo’lsa, uni 10 li sanoq sistemasidagi ko’rinishga
o’tkazish uchun avvalo uni ishorasi aniqlanadi. Agar son musbat bo’lsa, berilgan kodni
to’g’ridan to’g’ri 10 li sanoq sistemasiga o’tkaziladi. Son manfiy bo’lsa, u quyidagicha
hosil qilinadi:
Berilgan koddan 1 ni ayiriladi;
Kod inversiyalanadi;
Inversiyalangan kod 10 li sanoq sistemasiga o’tkaziladi va hosil qilingan son manfiy
ishora bilan yoziladi.
Misol: Quyidagi kodlarga mos 10 li sanoq sistemasidagi sonlarni aniqlang.
00000000000101112
Bu kodni eng katta razryadi 0. Bu esa hosil bo’ladigan son musbat ekanligini
bildiradi. Shuning uchun to’g’ridan to’g’ri uni 10 li sanoq sistemasiga o’tkazamiz.
101112=1*24+0*23+1*22+1*21+1*20=16+4+2+1=2310
11111111110000002
Bu misolda kodni eng katta razryadi 1. Bu esa hosil bo’ladigan son manfiy ekanligini
bildiradi. Yuqorida keltirilgan usulni qo’llaymiz
1) Berigan koddan 1 ni ayiramiz: 11111111110000002– 12= 11111111101111112
2) Kodni inversiyalaymiz: 00000000010000002
3) Inversiyalangan kodni 10 li sanoq sistemasiga o’tkazamiz va hosil qilingan sonni manfiy
ishora bilan yozamiz:
10000002=1*26+0*25+0*24+0*23+0*22+0*21+0*20=6410
Demak, javob -6410.
Haqiqiy
son
ko’rinishdagi
ma’lumotlarni
kompyuter
xotirasida
tasvirlanishi.Kompyuter xotirasida haqiqiy sonlarni tasvirlash usuli boshqacharoq.
Suzuvchi nuqtali haqiqiy sonlarni kompyuter xotirasida tasvirlanishini ko’rib chiqaylik.
Ixtiyoriy haqiqiy sonni M∙10 p ko’rinishda yozish mumkin, bu yerda, M - sonni
mantis-sasi
(1≤M<10) va p- esa sonni tartibi( butun son) deyiladi.
Masalan,120100000=1,201∙108. 10 li sanoq sistemasida sonlarni har bir raqamini o’rni
qo’shni xonadaga raqam o’rnidan 10 ni darajasiga boqliq holda farqlanadi. Shuning uchun
sonni 10 ga ko’paytirish deganda, sondagi vergulni o’ngga bir pozisiya surish, 10 ga bo’lish
deganda esa vergulni chapga bir pozisiya surish tushuniladi. Yuqoridagi misolni
quyidagicha davom ettirish mumkin:
120100000=1,201∙108=0,1201∙109=12,01∙107….
Kompyuterlarda haqiqiy sonlarni suzuvchi nuqtali ko’rinishda ifodalashda,
maksimal aniqlikga erishish sonni mantissasi 110≤M<210 oraliqda bo’lishi kerak. Bundan
ko’rinib turibdiki, 2 li sanoq sistemasida haqiqiy sonlarni ifodalashda suzuvchi vergul
fiksirlangan bo’ladi, yani vergul birinchi raqamdan(0 yoki 1 dan) keyin keladi.
Kompyuterlarda haqiqiy sonlarni suzuvchi nuqtali ko’rinishda tasvirlash uchun
ularga ajratilgan joy uch qismdan iborat bo’ladi. 1-qismda sonni ishorasi uchun bir katak
joy, 2-qismda sonni tartibi uchun joy(nechta kataklilgi sonni turiga bog’liq), 3-qismda sonni
mantissasi uchun joy ajratiladi.
Double turiga tegishli haqiqiy sonlarni kompyuter xotirasida qanday joylashishini
ko’rib chiqaylik. Yuqoridagi jadvaldan ko’rinib turibdiki, bu turdagi haqiqiy sonlar uchun
xotiradan 2 bayt joy ajratiladi. Joylarni qismlarga bo’linishi quyidagicha:
Ishora
Aralash tartib
Mantissa
63 62 52 51 0
Son tartibini xotirada saqlash uchun uning o’nli sanoq sistemasidagi tartibiga surilish
miqdori qo’shiladi. Masalan, Double tipidagi son uchun tartib 11 bitni egallaydi va
diapazoni dan gacha bo’ladi.
Shunday qilib, haqiqiy sonlar komp’yuter xotirasida quyidagi algoritm asosida
ifodalanadi:
1) son modulini ikkilik sanoq sistemasiga o’tkaziladi:
2) hosil qilingan son normallashtiriladi, ya’ni ko’rinishida yoziladi. Bu erda m-mantissa
bo’lib, butun qismi 12 ga teng. p — o’nli sanoq sistemasida yozilgan tartib.
3) tartibga surilish miqdori qo’shiladi va hosil qilingan son ikkilik sanoq sistemasiga
o’tkaziladi;
4) ishorasini e’tiborga olib, sonning komp’yuter xotirasidagi ko’rinishi yoziladi.
Misol. -312,3125 sonini qomp’yuter xotirasidagi ko’rinishini yozing. .
Echish.
Sonning
moduli
ikkilik
sistemadagi
yozuvi
100111000,0101.
Uni
normallashtiramiz: 100111000,0101 = 1,001110000101 × 28. endi uning tartibini suramiz:
8 + 1023 = 1031. 103110 = 100000001112. Son manfiy bo’lgani uchun 63 razryadga 1
yozamiz. Natijada quyidagi songa ega bo’lamiz:
1
10000000111
001110000101000000000000000000...0000
63
62..52
51...0
210> Do'stlaringiz bilan baham: |