Xotirada sonlarni namoyish etish shakllari



Download 81,33 Kb.
bet1/5
Sana01.01.2022
Hajmi81,33 Kb.
#296736
  1   2   3   4   5
Bog'liq
2-Labaratoriya ishi


Xotirada sonlarni namoyish etish shakllari

Biz har doim o'z ma'lumotlarimizni kompyuterda saqlayotganimizni hisobga olsak, bu ma'lumotlarning qanday saqlanishi haqida bir oz ma'lumotga ega bo'lishimiz maqsadga muvofiqdir. Qanday qilib kompyuter "A" harfini qattiq diskda saqlaydi ? Qiymat haqida nima deyish mumkin  ?

Ma'lumotni kompyuterda qanday saqlashni bilish foydalidir, chunki bu bizga ma'lumotlar to'plamini saqlash uchun qancha bo'sh joy kerakligi haqida mulohaza yuritishga imkon beradi, bu esa bizga qanday dasturiy ta'minot yoki uskuna kerakligini aniqlash imkonini beradi. ma'lumotlar to'plami bilan ishlash va saqlash formatini tanlash to'g'risida qaror qabul qilish. Ma'lumotlar to'plamiga to'g'ri kirish uchun ma'lumotlarning qanday saqlanganligini bilish ham foydali bo'lishi mumkin; Masalan, oddiy raqamni saqlashning ko'p usullari mavjud. Shuningdek, biz kompyuterda ma'lumotlarning qanchalik yaxshi saqlanishiga oid ba'zi muhim cheklovlarni ko'rib chiqamiz .

7 . 4 . 1 Bit, bayt va so'zlar










 
Ma'lumotni kodlaydigan sirtdagi chuqurlarni ko'rsatish uchun kompakt diskning yuzasi ko'p marta kattalashtirilgan. 7 . 2018-05-01 xoxlasa buladi 121 2
 

Kompyuter xotirasining eng asosiy birligi bu bit . Bit qattiq diskdagi kichik magnitli maydon, CD yoki DVD -dagi aks ettiruvchi materialdagi mayda chuqurchalar yoki xotira kartasidagi kichik tranzistor bo'lishi mumkin. Jismoniy dastur qanday bo'lishidan qat'i nazar, bir oz bilish kerak bo'lgan narsa shundaki, u kalit kabi, faqat ikkita qiymatdan birini olishi mumkin: u "yoqilgan" yoki "o'chirilgan".

8 bitli to'plam bayt deb ataladi va (hozirgi kompyuterlarning ko'pchiligida) 4 baytli yoki 32 bitli to'plam so'z deb ataladi . Ma'lumotlar to'plamidagi har bir alohida ma'lumotlar qiymati, odatda, bir yoki bir necha baytli xotira yordamida saqlanadi, lekin eng past darajada, kompyuterda saqlanadigan har qanday ma'lumot bitlarning katta to'plamidir. Masalan, ushbu kitobning elektron formatining birinchi 256 biti (32 bayt) quyida ko'rsatilgan. Eng past darajada, ma'lumotlar to'plami - bu nol va shunga o'xshashlar to'plami.

00100101 01010000 01000100 01000110 00101101 00110001

00101110 00110100 00001010 00110101 00100000 00110000

00100000 01101111 01100010 01101010 00001010 00111100

00111100 00100000 00101111 01010011 00100000 00101111

01000111 01101111 01010100 01101111 00100000 00101111

01000100 00100000

Ma'lumotlarning individual qiymati uchun ishlatiladigan baytlar va so'zlar soni saqlash formatiga, operatsion tizimga va hatto kompyuter uskunasiga qarab o'zgaradi, lekin ko'p hollarda bitta harf yoki matn bitta bayt va butun sonni oladi, yoki butun son, bitta so'zni oladi. Haqiqiy yoki kasrli raqam saqlanishiga qarab bir yoki ikkita so'zni oladi.

Masalan, "salom" matni 5 baytli xotirani egallaydi, har bir belgidan bittasi. "12345" matni 5 baytni ham talab qiladi. 12,345 tamsayı 1 va 12,345,678 kabi 4 baytni (1 so'z) egallaydi. 123.45 haqiqiy raqami 0.00012345 va 12345000.0 kabi 4 yoki 8 baytni egallaydi.

7 . 4 . 2 Ikkilik, sakkizlik va o'n oltilik

Kompyuter xotirasining bir qismi 0 va 1 -sonli qatorlar bilan ifodalanishi mumkin, har bir xotira biti uchun bitta raqam; 1 qiymati "yoqilgan" bitni, 0 esa "o'chirilgan" bitni anglatadi. Bu belgi ikkilik shakl sifatida tavsiflanadi . Masalan, quyida bitta bayt xotira mavjud bo'lib, u "A" harfini o'z ichiga oladi (ASCII kodi 65; ikkilik 1000001).

01000001

Bitta xotira so'zi 32 bitni o'z ichiga oladi, shuning uchun so'zni ikkilik shaklda ko'rsatish uchun 32 ta raqam kerak. Qulayroq belgi - sakkizlik , bu erda har bir raqam 0 dan 7 gacha bo'lgan qiymatni bildiradi. Har bir sakkizlik raqam 3 ta ikkilik raqamga teng, shuning uchun xotira baytini 3 sakkizta raqam bilan ifodalash mumkin.

Ikkilik qiymatlarni aniqlash juda oson, lekin sakkizlik qiymatlarni oddiy o'nlik kasrlardan ajratish ancha qiyin, shuning uchun sakkizlik qiymatlarni yozishda raqamlar oldidan "0" kabi maxsus belgi qo'yiladi.

Sakkizlik shakliga misol sifatida "A" belgisining ikkilik kodi ikkilik raqamli uchliklarga bo'linadi (o'ngdan): 01 000 001 . Shunday qilib, sakkizta raqamlar 101 , odatda 0101 yoziladi , bu sakkizlik raqamlar ekanligini ta'kidlaydi.

Xotirani ifodalashning yanada samarali usuli bu o'n oltilik shakl. Bu erda har bir raqam 0 dan 16 gacha bo'lgan qiymatni bildiradi, 9 dan katta qiymatlar a dan f gacha bo'lgan belgilar bilan almashtiriladi . Bitta o'n oltilik raqam 4 bitga to'g'ri keladi, shuning uchun har bir bayt xotira faqat 2 ta o'n oltilik raqamni talab qiladi. Sakkizburchakda bo'lgani kabi, odatda o'n oltilik raqamlar oldidan maxsus belgi qo'yiladi, masalan, 0x yoki # . " A" belgisining ikkilik shakli ikkita to'rtburchakka bo'linadi: 0100 0001 . O'n oltilik raqamlar 41 , odatda 0x41 yoki #41 yoziladi .

Boshqa standart amaliyot - bu o'n oltilik tasvirlarni bo'sh joylar bilan ajratilgan bitta baytga mos keladigan raqamlar jufti sifatida yozish. Masalan, "faqat sinov" (12 bayt) matni uchun xotira ombori quyidagicha ifodalanishi mumkin:

6a 75 73 74 20 74 65 73 74 69 6e 67

Kompyuter xotirasi blokini ko'rsatganda, yana bir standart amaliyot uchta ma'lumot ustunini taqdim etishdir: chap ustunda ofset ko'rsatilgan , bu raqam birinchi navbatda qaysi bayt ko'rsatilishini ko'rsatadi; o'rta ustun, odatda, o'n oltilik shaklda, haqiqiy xotira tarkibini ko'rsatadi; va o'ng ustunda xotira tarkibi (belgilar yoki raqamli qiymatlar) talqini ko'rsatilgan. Masalan, "faqat sinov" testi ofset va belgilarni ko'rsatish ustunlari bilan to'liq ko'rsatilgan.

0: 6a 75 73 74 20 74 65 73 74 69 6e 67 | faqat sinov

Biz ushbu bo'limda xotiraning xom bloklarini ko'rsatish uchun foydalanamiz.


7 . 4 . 3 Raqamlar

Eslatib o'tamiz, xotiraning eng asosiy birligi, bit, ikkita mumkin holatga ega: "yoqilgan" yoki "o'chirilgan". Agar biz raqamni saqlash uchun bitta bitdan foydalansak, har xil holatni boshqa raqamni ifodalash uchun ishlatishimiz mumkin. Misol uchun, bitni o'chirilganda 0 va bit yoqilganda 1 raqamlarini ko'rsatish uchun bitdan foydalanish mumkin.

Biz 1dan kattaroq raqamlarni saqlashimiz kerak bo'ladi; Buning uchun bizga ko'proq bit kerak.

Agar biz raqamni saqlash uchun ikkita bitdan foydalansak, har bir bitning ikkita mumkin bo'lgan holati bor, shuning uchun to'rtta kombinatsiyalangan holat mavjud: ikkala bit ham, birinchi bit ham, ikkinchi bit ham, birinchi bit ham, ikkinchi bit ham, yoki ikkala bit ham ochiq . Boshqa raqamni ko'rsatish uchun har bir holatni ishlatib, biz ikkita bit yordamida to'rtta raqamni saqlashimiz mumkin: 0, 1, 2 va 3.

Bir qator bitlarning sozlamalari odatda o'chirish uchun 0 va yoqish uchun 1 yordamida yoziladi. Masalan, ikkita bit uchun mumkin bo'lgan to'rtta holat - 00 , 01 , 10 , 11 . Bu tasvir ikkilik notatsiya deb ataladi .

Umuman olganda, agar biz k bitdan foydalansak , har bir bitning ikkita mumkin bo'lgan holati bor va bitlar birlashtirilgan 2 k holatni ifodalashi mumkin, shuning uchun k bit bilan biz 0, 1, 2 dan 2 k - 1 gacha bo'lgan sonlarni ifodalashimiz mumkin .

7 . 4 . 3 . 1 butun sonlar

Butun sonlar odatda 4 bayt yoki 32 bitli xotira so'zlari yordamida saqlanadi, shuning uchun 0 dan 4,294,967,295 gacha ( 2 32 - 1 ) gacha bo'lgan butun sonlarni saqlash mumkin. Quyida 1 dan 5 gacha bo'lgan butun sonlar to'rt baytli qiymat sifatida saqlanadi (har bir satr bitta tamsayı ifodalaydi).

0: 00000001 00000000 00000000 00000000 | 1

4: 00000010 00000000 00000000 00000000 | 2018-05-01 xoxlasa buladi 121 2

8: 00000011 00000000 00000000 00000000 | 3

12: 00000100 00000000 00000000 00000000 | 4

16: 00000101 00000000 00000000 00000000 | 5

Bu biroz g'alati ko'rinishi mumkin; har bir bayt ichida (sakkiz bitli har bir blok), bitlar bizdan odatdagidek o'nli kasrlarda bo'lgani kabi, o'ngdan chapga yoziladi, lekin baytlarning o'zi chapdan o'ngga yoziladi! Ma'lum bo'lishicha, kompyuter baytlarning qaysi tartibda ishlatilishiga qarshi emas (biz kompyuterga buyurtma nima ekanligini aytamiz) va ko'pchilik dasturiy ta'minot baytlar uchun chapdan o'ngga tartibda foydalanadi. 7 . 3

Zudlik bilan ikkita muammo aniq bo'lishi kerak: bu manfiy qiymatlarga yo'l qo'ymaydi va 2 32 yoki undan katta bo'lgan butun sonlar xotirada saqlanmaydi.

Amalda, birinchi muammo raqamni musbat yoki manfiyligini ko'rsatish uchun bir bitni qurbon qilish orqali hal qilinadi, shuning uchun diapazon -2,147,483,647 dan 2,147,483,647 ( ) gacha bo'ladi . 

Ikkinchi muammo, biz juda katta sonlarni saqlay olmaymiz, bu ma'lumotlarni kompyuterda saqlashning cheklangan chegarasi (cheklangan xotirada) va juda katta qiymatlar bilan ishlashda eslash kerak. Yechimlarga quyidagilar kiradi: butun sonlarni saqlash uchun ko'proq xotiradan foydalanish, masalan, har bir son uchun ikkita so'z, shuning uchun ko'proq xotira sarflanadi, shuning uchun xotira kam ishlaydi; noaniqlik kiritishi mumkin bo'lgan butun sonlarni haqiqiy sonlar sifatida saqlash (pastga qarang); yoki o'zboshimchalik bilan aniq arifmetikadan foydalanish, bu butun son uchun qancha xotira kerak bo'lsa, lekin shuncha sekinroq hisob -kitob qiladi.

Kompyuter tiliga qarab, yuqori chegarani olish uchun faqat musbat (imzosiz) tamsayılar kerakligini (masalan, belgi bitini qaytarish) belgilash mumkin. Aksincha, agar juda kichik sonli qiymatlar kerak bo'lsa, kichikroq baytdan foydalanish yoki hatto bir nechta bit bilan ishlash mumkin (baytdan kam).


7 . 4 . 3 . 2 Haqiqiy raqamlar

Haqiqiy raqamlarni (va mantiqiy) raqamli saqlash butun sonlarga qaraganda ancha qiyin.

Eslatib o'tamiz, k bit 2 k xil holatni ifodalashi mumkin . Butun sonlar uchun birinchi holat 0, ikkinchi holat 1, uchinchi holat 2 va boshqalarni ko'rsatishi mumkin. Biz faqat 2 k - 1 tamsayı darajasiga ko'tarilishimiz mumkin , lekin hech bo'lmaganda, biz shu nuqtagacha bo'lgan butun sonlarni hisobga olishimiz mumkinligini bilamiz.

Afsuski, biz reallik uchun xuddi shunday qila olmaymiz. Aytishimiz mumkinki, birinchi holat 0 ni ifodalaydi, lekin ikkinchi holat nimani anglatadi? 0.1? 0,01? 0.00000001? Faraz qilaylik, biz 0,01 ni tanladik, shuning uchun birinchi holat 0, ikkinchi holat 0,01, uchinchi holat 0,02 va boshqalarni ifodalaydi. Endi biz faqat 0,01 x (2 k - 1) ga ko'tarilishimiz mumkin va biz 0,01 dan 0,02 gacha bo'lgan barcha raqamlarni o'tkazib yubordik (va 0,02 dan 0,03 gacha bo'lgan sonlarning hammasi cheksiz ko'p).

Bu kompyuterda ma'lumotlarni saqlashning yana bir muhim cheklovi: haqiqiy sonlarni saqlaganimizda aniqlik chegarasi bor . Haqiqiy qiymatlarning aksariyati kompyuterda saqlanmaydi. Bu muammoning misollari sifatida nafaqat transsendental sonlar (masalan,  va e ) kabi ekzotik qiymatlar , balki juda oddiy kundalik qadriyatlar, masalan,  hatto 0,1. Bu qo'rqinchli emas, chunki aniq qiymat saqlanmasa ham, haqiqiy qiymatga juda yaqin bo'lgan qiymat saqlanishi mumkin. Masalan, agar biz haqiqiy sonni saqlash uchun sakkiz baytdan foydalansak, erning quyoshdan millimetrgacha bo'lgan masofasini saqlashimiz mumkin. Shunday qilib, amaliy maqsadlar uchun bu odatda muammo emas.

Raqamli aniqlikni cheklash kamdan -kam hollarda saqlanadigan qiymatlarga ta'sir qiladi, chunki bunday aniqlik bilan ilmiy o'lchovni olish juda qiyin. Biroq, ko'plab hisob -kitoblarni bajarayotganda, saqlangan qiymatlardagi kichik xatolar ham to'planib, jiddiy muammolarga olib kelishi mumkin. Biz bu masalani 11 -bobda qayta ko'rib chiqamiz . Haqiqiy qiymatlarni to'liq aniqlikda saqlashning echimlari quyidagilardan iborat: har bir qiymat uchun ko'proq xotira, ayniqsa ish paytida (masalan, 64 o'rniga 80 bit) va ixtiyoriy aniqlikdagi arifmetikadan foydalanish.

Haqiqiy raqam suzuvchi nuqta raqami sifatida saqlanadi, ya'ni u ikkita qiymat sifatida saqlanadi: mantissa , m va eksponent , e , m x 2 e shaklida . Haqiqiy sonni saqlash uchun bitta so'z ishlatilganda, odatiy tartib 7 . 4 eksponent uchun 8 bit va mantissa uchun 23 bitdan foydalanadi (ortiqcha raqamning belgisini ko'rsatish uchun 1 bit).

Eksponent asosan mumkin bo'lgan qiymatlar oralig'ini belgilaydi. O'n bit u kabi kichik do'kon raqamlar mumkin, degan ma'noni anglatadi -127 dan 127 uchun butun sonlarning bir qator uchun imkon beradi 10 -39 ( 2 -127 ) va katta qilib 10 38 ( 2 127 ). 7 . 5

Mantissa aniqlik bilan qiymatlarni aks ettirishni belgilaydi. Bu erda masala qiymatning kattaligida emas (u juda kichik bo'ladimi), lekin aniq bo'lishi mumkin. 23 bit bilan 2 23 xil haqiqiy qiymatlarni ko'rsatish mumkin, bu juda ko'p qiymatlar, lekin baribir juda ko'p bo'shliqlarni qoldiradi. Masalan, agar biz 0 dan 1 gacha bo'lgan qiymatlar bilan ishlayotgan bo'lsak, biz qadamlarni qo'yishimiz mumkin , ya'ni biz 0.0000001 va 0.0000002 oralig'idagi qiymatlarning hech birini ifodalay olmaymiz. Boshqacha aytganda, biz bir -biridan 0,0000001 dan kam farq qiladigan raqamlarni ajrata olmaymiz. Agar biz 0 dan 10.000.000 gacha bo'lgan qiymatlar bilan shug'ullanadigan bo'lsak , biz faqat bir necha qadamni qo'yamiz    , shuning uchun biz bir -biridan 1dan kam farq qiladigan qadriyatlarni ajrata olmaymiz.

Quyida 1.0 dan 5.0 gacha bo'lgan haqiqiy qiymatlar to'rt baytli qiymat sifatida saqlanadi (har bir satr bitta haqiqiy qiymatni ifodalaydi). Esda tutingki, baytlar chapdan o'ngga tartiblangan, shuning uchun eng muhim bayt (belgi biti va eksponentning ko'p qismini o'z ichiga oladi) o'ngdagi baytdir. O'ngdan ikkinchi bayt sekundining birinchi biti mantisaning oxirgi bitidir.

0: 00000000 00000000 10000000 00111111 | 1

4: 00000000 00000000 00000000 01000000 | 2018-05-01 xoxlasa buladi 121 2

8: 00000000 00000000 01000000 01000000 | 3

12: 00000000 00000000 10000000 01000000 | 4

16: 00000000 00000000 10100000 01000000 | 5

Masalan, birinchi qiymatning ko'rsatkichi - 0111111 1 , bu 127. Bu ko'rsatkichlar 127 tomonidan " noaniq ", shuning uchun oxirgi eksponentni olish uchun biz 127ni olib, 0 ni olamiz. Mantissa yopiq qiymati 1 plyus, bit uchun i , qiymati 2 i . Bu holda, butun mantissa nolga teng, shuning uchun mantissa faqat (yopiq) qiymat 1. Yakuniy qiymat 2 0 x 1 = 1 .

Oxirgi qiymat uchun eksponent 1000000 1 ga teng , bu 129 ga teng, 127 ga 2 ga teng. Mantissa 01 va 49 nolga teng, bu (yopiq) 1 + 2 -2 = 1.25 qiymatini bildiradi . Yakuniy qiymat - 2 2 x 1,25 = 5 .

Haqiqiy raqamlar bitta so'z o'rniga ikkita so'z yordamida saqlansa, mumkin bo'lgan qiymatlar diapazoni va saqlangan qiymatlarning aniqligi sezilarli darajada oshadi, lekin hali ham chegaralar mavjud.


7 . 4 . 4 Case study: tarmoq trafigi

Oklend universitetining markaziy IT bo'limi 1970 yildan beri tarmoq trafigi ma'lumotlarini to'playdi. Tarmoqning ma'lum bir joyidan o'tgan har bir ma'lumot to'plami bo'yicha o'lchovlar o'tkazildi. Ushbu o'lchovlar paketning tarmoq manziliga etib kelgan vaqtini va paket hajmini o'z ichiga oladi.

Vaqt o'lchovlari -  1970 yil yanvar oyidan boshlab, soniyalarda o'tgan vaqt va o'lchovlar juda aniq  bo'lib, sekundiga 10 000 gacha aniqlikda yoziladi . Vaqt o'tishi bilan bu juda katta (bir yilda 31.536.000 soniya bor) va juda aniq sonlarga olib keldi. Rasm 7,2 shou matn sifatida saqlanadi ma'lumotlar bir necha satr.


 

1156748010.47817 60

1156748010.47865 1254

1156748010.47878 1514

1156748010.4789 1494

1156748010.47892 114

1156748010.47891 1514

1156748010.47903 1394

1156748010.47903 1514

1156748010.47905 60

1156748010.47929 60

...



Download 81,33 Kb.

Do'stlaringiz bilan baham:
  1   2   3   4   5




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish