|
4-amaliy mashg’ulot. Mavzu: Modifikatsion kodlar va ular ustidan arifmetik amallar bajarish
|
bet | 2/4 | Sana | 14.02.2024 | Hajmi | 13,6 Kb. | | #156252 |
Bog'liq 4-amaliy mashg’ulot. Mavzu Modifikatsion kodlar va ular ustidan-fayllar.orgTo'g'ridan-to'g'ri kod. Ikkilik raqamning to'g'ridan-to'g'ri kodi rasmda raqamning o'zi bilan mos keladi. Belgilangan bit qiymati musbat sonlar uchun 0 ga, manfiy sonlar uchun 1 ga teng.
Belgilash biti odatda bit katakchasidagi oxirgi bit hisoblanadi. Bundan tashqari, kodni yozishda biz belgi bitini raqamli raqamlardan vergul bilan ajratishga rozilik beramiz. Agar kod bitlarining soni ko'rsatilmagan bo'lsa, kod yozuvi uchun bitta bayt ajratilgan deb hisoblaymiz.
Misol. Kodni yozish uchun bitta bayt ajratilgan bo'lsa, +1101 raqami uchun to'g'ridan-to'g'ri kod 0.0001101, 1101 raqami uchun to'g'ridan-to'g'ri kod 1.0001101 bo'ladi.
Teskari kod. Ijobiy raqam uchun teskari kod oldinga yo'naltirilgan kod bilan bir xil. Salbiy raqam uchun raqamning barcha raqamlari qarama-qarshi raqamlar bilan almashtiriladi (1 dan 0 gacha, 0 dan 1 gacha) va bittasi belgi bitiga kiritiladi.
Misol.
+1101 raqami uchun to'g'ridan-to'g'ri kod 0.0001101; teskari kod 0.0001101.
1101 raqami uchun to'g'ridan-to'g'ri kod 1.0001101; teskari kod - 1.1110010.
Qo'shimcha kod. Ijobiy sonning komplement kodi to'g'ridan-to'g'ri kod bilan bir xil. Salbiy son uchun komplement kodi teskari kodni olish va bittasini eng kam ahamiyatga ega bitga qo'shish orqali hosil bo'ladi.
Misol.
+1101 raqami uchun:
To'g'ridan-to'g'ri kod Teskari kod Qo'shimcha kod
0,0001101 0,0001101 0,0001101
-1101 raqami uchun:
To'g'ridan-to'g'ri kod Teskari kod Qo'shimcha kod
1,0001101 1,1110010 1,1110011
Raqamlarni teskari va qo'shimcha kodlarda qo'shish xususiyatlari.
Ikkala komplement sonini qo'shganda, ishora bitidagi hosil bo'lgan defis bo'linmasi bekor qilinadi.
Teskari kodga raqamlarni qo'shganda, belgi bitidagi natijada ko'tarish birligi kod summasining eng kichik bitiga qo'shiladi.
Agar arifmetik amallarning natijasi manfiy son bo'lsa, uni to'g'ridan-to'g'ri kodga o'tkazishingiz kerak. Bunday holda, teskari kod imzolangan qarama-qarshi raqamlardan tashqari barcha raqamlardagi raqamlarni to'g'ridan-to'g'ri almashtirishga aylantiriladi. To'ldiruvchi kod oldinga yo'naltirilgan kodga, shuningdek orqaga qarab aylantiriladi, so'ngra bittasi eng kichik bitga qo'shiladi.
Misol
Ikkala X va Y sonlarni teskari va ikkalasining to'ldiruvchisini qo'shing.
a) X = 111, Y = 11;
1) Ikkilik arifmetik qoidalar yordamida raqamlarni qo'shing:
2) kodlar yordamida raqamlarni qo'shing:
To’g’ri kod
|
Teskarida qo’shish
|
Qo’shimchada qo’shish
|
kodda
|
kodda
|
|
Qo'shish natijasi musbat sonning kodi (0 belgisi) bo'lgani uchun (X + Y) arr = (X + Y) add = (X + Y) pr.
b) X = 101, Y = 11;
1) Ikkilik arifmetik qoidalar yordamida raqamlarni qo'shing:
2) kodlar yordamida raqamlarni qo'shing:
To’g’ri kod
|
Teskarida qo’shish
|
Qo’shimchada kod
|
Kodda
|
Kodda
|
|
Yig'in manfiy raqamning kodi bo'lganligi sababli (1 belgi), natijalarni to'g'ridan-to'g'ri kodga aylantirish kerak:
teskari koddan
(X + Y) arr = 1.110100 (X + Y) arr = 1.0001011;
qo'shimcha koddan
(X + Y) add = 1.1110101 (X + Y) ex = 1.0001010 + 0.0000001 = 1.0001011.
Shunday qilib, X + Y = 1011 va olingan natija odatdagi yozuv bilan bir xil.
|
| |