Assembler tilida o'nli kasr shaklidagi sonlar bilan ishlash
Assembler tilida o'nli kasrlar bilan ishlash
Download 179.41 Kb.
|
3-mustaqil ish paradigma
Assembler tilida o'nli kasrlar bilan ishlash:Kompyuterda markaziy protsessordan tashqari o'nli kasr sonlar bilan ishlashga mo'ljallangan sonli qo'shma protsessor bo'lib, u ham o'z registrlariga ega. Sonli qo'shma protsessor registrlari: STO, ST1, ST2, ST3, ST4, ST5, ST6 va ST7. Har biri 80 bitli bo'lgan bu registrlar o'nli kasr sonlami saqlashda foydalaniladi va ular dasturchi ixtiyorida bo'ladi. To'liq ma'lumot uchun «O'nli kasrlan> bobini qarang.
Hozirda IEEE tomonidan ishlab chiqilgan o'nli kasr sonlami xotirada saqlash andozasi umumiy me'yor sifatida asosiy protsessor ishlab chiqaruvchilar tomonidan qo'llaniladi. Intel protsessoriari ham aynan shu andozadan foydalanadi. Quyida foydalaniladigan barcha tushunchalar ham shu mezonga asosalanadi. Ushbu bob o'nli kasr sonlarga bag'ishlanganl sababli, quyida o'nli kasr sonlar shunchaki son atamasi bilan yuritiladi. Umuman olganda, o'nli kasr sonlar dasturlashda biroz boshqacha nomlanadi. Masalan, ingliz tilida floating point number, rus tilida esa число с плавающей точкой deb ataladi. Bu suzuvchi 'nuqtali son degan ma'noni beradi, chunki sondagi kasr nuqtasi oldinga yoki orqagá istalgancha surilishi mumkin. Bu suzib yurgan nüqta tasawurini beradi. Masalan, 37.512 soriini quyidagi ko'rinishlarda yozish mumkin: 37.512, 3.7512*10l, 0.37512*102, 3751.2*10-2. Ma'lumki, kompyuterda sonlar ikkilik sanoq tizimida saqlanadi. Masalan, 37.512 soniriing ikkilik ko'rinishi 100101.lOOOOOlb bo'ladi. Ammo sonni bu ko'rinishda kompyuter xotirasida saqlab bo'lmaydi, chunki kasr nuqtasi ham bor. Bu masalani hal etishda sonni maromlashtirísh tushunchasidan foydalanilgan. Agar son quyidagi ko'rinishda ifodalangan bo'lsa, u maromlashtirilgan deyiladi: l.abcds ...* p^á Bu yerda abcds... sonning kasr qismi, p sanoq tizimi asos, d esa asos darajasi. 37.512 sonini maromlashtirilgan ko'rinishda yozib ko'ramiz: 1.0010110000011 * 10^101 Ifodadagi barcha sonlar ikkilik sanoq tizimida berilgan. O'nli kasr son uning kasr qismining aniqlik darajasiga qarab IEEE mezoni bo'yicha 3 xil guruhga bo'linadi. Bular: birlamchi aniqlik, qo'sh aniqlik va kengaytirilgan aniqlik. Eng kichik aniqlik birlamchi aniqlik bo'lib, uning o'lchami 32 bitga teng (rasmga qarang). To'ng'ich, ya'ni 31-bit ishorani beradi. Manfiy kasr sonlar xotirada ikkilamchi to'ldiruvchi ko'rinishida saqlanmaydi. Agar ishora biti 1 bo'lsa demak, son manfiy, aks holda musbat. 23 dan 30 gacha bo'lgan bitlarda asos darajasi saqlanadi. U yerda haqiqiy d emas, balki asos darajasi va 127 ning yig'indisi saqlanadi. Buning sababi shundaki, IEEE me'yori bo'yicha xotiraning asos darajasi qismida manfiy bo'lishi mumkin emas. 0 dan 22 gacha bo'lgan bitlar esa mantissa deb ataladi va u yerda sonning kasr qismi saqlanadi. Xotirada son doim maromlashtirilgan holda saqlanadi. Mantissada esa maromlashtirilgan sonning nuqtadan keyingi qismi o'rin oladi. Butun qism doim birga teng bo'lgani uchun u hech qayerda saqlanmaydi. Misol tariqasida 37.512 sonining IEEE bo'yicha birlamchi aniqlikdagi ko'rinishi xotirada qanday ifodalanishini ko'rib chiqamiz: Ishora biti = 0 Asos darajasi = 1000 0100 Mantissa = 000 0000 0000 0101 1000 0011 Ba'zi hollarda sonning asos darajasi -127 dan kichik bo'ladi. Bu holda son xotirada maromlashtirilmagan holda saqlanadi. Masalan, 10.001 * 10'130 ni olaylik (bu yerda daraja o'nlik sanoq tizimida). Uning maromlashtirilgan ko'rinishi 1.0001 * 10'129 kabi bo'ladi. Ko'rinib turibdiki, uning. asos darajasi -127 dan kichik. Lekin ushbu son maromlashtirilmagan holda xotirada saqlanishi mumkin, ya'ni 0.010001 * 10'127. Demak, bu holda IEEE bo'yicha asos darajasi 0 bo'ladi. Xotiradagi asos darajasi va mantissaning ba'zi qiymatlami qabul qilishi maxsus holatlar sifatida qaraladi. 14-jadvalda shunday holatlar qanday nomlanishi berilgan. Birlamchi aniqlikdagi sonning aníqlik darajasi I.O2 * 2“126 dan 1.111...1112 * 2127 gacha bo'ladi. Dasturlashda eng ko'p qo'llaniladigan sonning kasr qismi aniqligi qo'sh aniqlik bo'lib, bunday sonlaming o'lchami 64 bitga teng bo'ladi. 54-rasmda bitlar joylashuvi ko'rsatilgan. Qo'sh aniqlikdagi son hajmi birlamchi.aniqliknikidan ikki baravar kattaroqdir. Ular o'rtasidagi asosiy farqlar quyidagilar: • Asos darajasiga 127 emas, balki 1023 qo'shib olinadi. • Kasr qismning aniqlik darajasi taxminan 1.02 * 2'308 dan 1.111...2 * 10308 gacha bo'lishi mumkin. • Maromlashtirilmagan sonlar asos darajasi -1023 qilib olinadi. Kengaytirilgan aniqlikdagi o'nli kasr sonlar 80 bitli bo'ladi va ushbu andozadan asosan SQP ning qiymat registrida foydalaniladi. Download 179.41 Kb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling