uy - Windows
Ikkilik kodga shifrlash. Matnni raqamli kodga aylantirish

"Ikkilik" atamasining ma'nosi shundaki, u ikki qismdan yoki komponentdan iborat. Shunday qilib, ikkilik kodlar qora yoki oq, yorug'lik yoki qorong'i, o'tkazgich yoki izolyator kabi faqat ikkita ramziy holatdan iborat kodlardir. Raqamli texnologiyada ikkilik kod - bu ma'lumotlarni (raqamlar, so'zlar va boshqalar) 0 va 1 sifatida belgilanishi mumkin bo'lgan ikkita belgi birikmasi sifatida ifodalash usulidir. BC belgilari yoki birliklari bit deb ataladi. BC dan foydalanishning asoslaridan biri ma'lumotni har qanday muhitda uning ikkita fizik holatining kombinatsiyasi shaklida saqlashning soddaligi va ishonchliligi, masalan, yorug'lik oqimining o'zgarishi yoki doimiyligi ko'rinishida. optik kod diskidan o'qish.
Axborotni kodlash uchun turli xil imkoniyatlar mavjud.

Ikkilik kod

Raqamli texnologiyada ma'lumotlarni (raqamlar, so'zlar va boshqalar) 0 va 1 sifatida belgilanishi mumkin bo'lgan ikkita belgi birikmasi sifatida ifodalash usuli. DC ning belgilari yoki birliklari bit deb ataladi.

DC dan foydalanishning asoslaridan biri ma'lumotni har qanday muhitda uning faqat ikkita jismoniy holatining kombinatsiyasi shaklida saqlashning soddaligi va ishonchliligi, masalan, magnit oqimining o'zgarishi yoki doimiyligi shaklida. magnit yozish muhitining berilgan xujayrasi.

Ikkilik tizimda ifodalanishi mumkin bo'lgan eng katta raqam ishlatiladigan raqamlar soniga bog'liq, ya'ni. raqamni ifodalovchi kombinatsiyadagi bitlar soni bo'yicha. Masalan, 0 dan 7 gacha bo'lgan raqamli qiymatlarni ifodalash uchun 3 raqamli yoki 3 bitli kodga ega bo'lish kifoya:

raqamli qiymat ikkilik kod
0 000
1 001
2 010
3 011
4 100
5 101
6 110
7 111

Bundan 3 xonali kodli 7 dan katta son uchun endi 0 va 1 kod birikmalari mavjud emasligini ko'rishimiz mumkin.

Raqamlardan fizik miqdorlarga o'tsak, keling, yuqoridagi bayonotni umumiyroq shaklda tuzamiz: ikkilik kodda ifodalanishi mumkin bo'lgan har qanday miqdorning (harorat, kuchlanish, oqim va boshqalar) eng ko'p qiymatlari m ga bog'liq. n dan foydalanilgan bitlar soni bo'yicha m= 2n. Agar ko'rib chiqilgan misolda bo'lgani kabi n=3 bo'lsa, biz 8 ta qiymatni, shu jumladan 0 ni olamiz.
Ikkilik kod ko'p bosqichli koddir. Bu shuni anglatadiki, bir pozitsiyadan (qiymatdan) ikkinchisiga o'tishda bir vaqtning o'zida bir nechta bit o'zgarishi mumkin. Masalan, ikkilik koddagi 3 raqami = 011. Ikkilik koddagi 4 raqami = 100. Shunga ko'ra, 3 dan 4 ga o'tganda, barcha 3 bit bir vaqtning o'zida o'z holatini teskarisiga o'zgartiradi. Kod diskidan bunday kodni o'qish, kod diskini ishlab chiqarish jarayonida muqarrar og'ishlar (toleranslar) tufayli treklarning har biridan alohida ma'lumotlarning o'zgarishi hech qachon bir vaqtning o'zida sodir bo'lmasligiga olib keladi. Bu, o'z navbatida, bir raqamdan ikkinchisiga o'tishda noto'g'ri ma'lumotlarning qisqacha berilishiga olib keladi. Shunday qilib, yuqorida aytib o'tilgan 3 raqamidan 4 raqamiga o'tish paytida, 7 raqamining qisqa muddatli chiqishi, masalan, o'tish paytida eng muhim bit o'z qiymatini qolganlariga qaraganda bir oz oldinroq o'zgartirganda, ehtimol juda katta. . Bunga yo'l qo'ymaslik uchun bir bosqichli kod, masalan, kulrang kod deb ataladigan kod ishlatiladi.

Kulrang kod

Kulrang kod bir bosqichli kod deb ataladi, ya'ni. Bir raqamdan ikkinchisiga o'tayotganda, barcha ma'lumotlarning faqat bittasi doimo o'zgaradi. Bir raqamdan ikkinchisiga o'tishda mexanik kod diskidan ma'lumotni o'qishdagi xatolik faqat bir pozitsiyadan ikkinchisiga o'tish vaqt o'tishi bilan biroz o'zgarishiga olib keladi, ammo burchak pozitsiyasining mutlaqo noto'g'ri qiymatini chiqarishga olib keladi. bir pozitsiyadan ikkinchisiga o'tish butunlay yo'q qilinadi.
Kulrang kodning yana bir afzalligi uning ma'lumotni aks ettirish qobiliyatidir. Shunday qilib, eng muhim bitni teskari aylantirish orqali siz shunchaki hisoblash yo'nalishini o'zgartirishingiz va shu bilan o'qning haqiqiy (jismoniy) aylanish yo'nalishiga mos kelishingiz mumkin. Hisoblash yo'nalishini shu tarzda o'zgartirish "To'ldiruvchi" deb nomlangan kirishni boshqarish orqali osongina o'zgartirilishi mumkin. Shunday qilib, chiqish qiymati o'qning bir xil jismoniy aylanish yo'nalishi uchun ortishi yoki kamayishi mumkin.
Kulrang kodda ifodalangan ma'lumotlar tabiatan sof kodlangan va haqiqiy raqamli ma'lumotni o'z ichiga olmaganligi sababli, keyingi ishlov berishdan oldin uni standart ikkilik kodga aylantirish kerak. Bu kod konvertori (Grey-Binar dekoder) yordamida amalga oshiriladi, bu xayriyatki, dasturiy ta'minotda ham, apparatda ham eksklyuziv yoki (XOR) mantiqiy elementlar sxemasi yordamida osongina amalga oshiriladi.

0 dan 15 gacha bo'lgan oraliqdagi mos keladigan o'nlik raqamlar ikkilik va Grey kodlari

Ikkilik kodlash Kulrang kodlash
O'nlik kod
Ikkilik qiymat O'n olti ma'nosi O'nlik kod Ikkilik qiymat O'n olti ma'nosi
0 0000 0h 0 0000 0h
1 0001 1 soat 1 0001 1 soat
2 0010 2 soat 3 0011 3 soat
3 0011 3 soat 2 0010 2 soat
4 0100 4 soat 6 0110 6 soat
5 0101 5 soat 7 0111 7 soat
6 0110 6 soat 5 0101 5 soat
7 0111 7 soat 4 0100 4 soat
8 1000 8 soat 12 1100 Ch
9 1001 9 soat 13 1101 Dh
10 1010 Oh 15 1111 Fh
11 1011 Bh 14 1110 Eh
12 1100 Ch 10 1010 Oh
13 1101 Dh 11 1011 Bh
14 1110 Eh 9 1001 9 soat
15 1111 Fh 8 1000 8 soat

Kulrang kodni odatiy ikkilik kodga aylantirish inverterlar va eksklyuziv yoki eshiklar bilan oddiy sxema yordamida quyida ko'rsatilgandek amalga oshirilishi mumkin:

Kulrang kod - ortiqcha

Odatiy bir bosqichli kulrang kod 2 ga ko'tarilgan raqam sifatida ifodalanishi mumkin bo'lgan rezolyutsiyalar uchun mos keladi. Boshqa ruxsatlarni amalga oshirish zarur bo'lgan hollarda, o'rta qism oddiy kulrang koddan kesiladi va ishlatiladi. Shunday qilib, kod "bir qadam" bo'lib qoladi. Shu bilan birga, raqamli diapazon noldan boshlanmaydi, lekin ma'lum bir qiymat bilan siljiydi. Axborotni qayta ishlashda yaratilgan signaldan asl va pasaytirilgan ruxsat o'rtasidagi farqning yarmi chiqariladi. 360 kabi ruxsatlar? burchakni ifodalash ko'pincha bu usul bilan amalga oshiriladi. Shunday qilib, 512 qadamga teng bo'lgan 9 bitli kulrang kod, har ikki tomondan 76 qadam bilan kesilgan, 360 ° ga teng bo'ladi.

Keling, hammasi qanday amalga oshirilganini aniqlaylik matnlarni raqamli kodga aylantirish? Aytgancha, bizning veb-saytimizda Onlayn kod kalkulyatori yordamida istalgan matnni o'nlik, o'n oltilik, ikkilik kodga aylantirishingiz mumkin.

Matnni kodlash.

Kompyuter nazariyasiga ko'ra, har qanday matn alohida belgilardan iborat. Bu belgilarga quyidagilar kiradi: harflar, raqamlar, kichik tinish belgilari, maxsus belgilar ("", №, () va boshqalar), ular so'zlar orasidagi bo'shliqlarni ham o'z ichiga oladi.

Kerakli bilimlar bazasi. Men matn yozadigan belgilar to'plami Alifbo deb ataladi.

Alifboda olingan belgilar soni uning kuchini ifodalaydi.

Axborot miqdori quyidagi formula bo'yicha aniqlanishi mumkin: N = 2b

  • N - bir xil kuch (ko'p belgilar),
  • b - Bit (qabul qilingan belgining og'irligi).

256 dan iborat alifbo deyarli barcha kerakli belgilarni o'z ichiga olishi mumkin. Bunday alifbolar YETARLI deb ataladi.

Agar biz 256 sig'imli alifboni olsak va 256 = 28 ekanligini unutmang.

  • 8 bit har doim 1 bayt deb ataladi:
  • 1 bayt = 8 bit.

Agar siz har bir belgini ikkilik kodga aylantirsangiz, bu kompyuter matn kodi 1 baytni egallaydi.

Matnli ma'lumotlar kompyuter xotirasida qanday ko'rinishi mumkin?

Har qanday matn klaviaturada, klaviatura tugmalarida yoziladi, biz o'zimizga tanish bo'lgan belgilarni (raqamlar, harflar va boshqalar) ko'ramiz. Ular kompyuterning operativ xotirasiga faqat ikkilik kod shaklida kiritiladi. Har bir belgi uchun ikkilik kod sakkiz xonali raqamga o'xshaydi, masalan 00111111.

Bayt manzilli xotiraning eng kichik qismi bo'lgani uchun va xotira har bir belgi uchun alohida manzillanganligi sababli, bunday kodlashning qulayligi aniq. Biroq, 256 belgi har qanday ramziy ma'lumot uchun juda qulay miqdordir.

Tabiiyki, savol tug'iladi: qaysi biri aniq? sakkiz xonali kod har bir belgiga tegishlimi? Va matnni raqamli kodga qanday aylantirish mumkin?

Bu jarayon shartli va biz boshqacha fikr yuritishga haqlimiz belgilarni kodlash usullari. Alifboning har bir belgisi 0 dan 255 gacha o'z raqamiga ega. Va har bir raqamga 00000000 dan 11111111 gacha kod beriladi.

Kodlash jadvali "cheat varaq" bo'lib, unda alifbo belgilari seriya raqamiga muvofiq ko'rsatilgan. Har xil turdagi kompyuterlar turli xil kodlash jadvallaridan foydalanadi.

ASCII (yoki Asci) shaxsiy kompyuterlar uchun xalqaro standartga aylandi. Jadval ikki qismdan iborat.

Birinchi yarmi ASCII jadvali uchun. (Bu birinchi yarmi standartga aylandi.)

Leksikografik tartibga rioya qilish, ya'ni jadvalda harflar (kichik va bosh harf) alifbo tartibida qat'iy ko'rsatilgan, raqamlar esa o'sish tartibida bo'lsa, alifboni ketma-ket kodlash printsipi deyiladi.

Rus alifbosi uchun ular ham amal qilishadi ketma-ket kodlash printsipi.

Hozirgi vaqtda, bizning davrimizda ular butun foydalanishadi beshta kodlash tizimi Rus alifbosi (KOI8-R, Windows. MS-DOS, Macintosh va ISO). Kodlash tizimlarining soni va bitta standartning yo'qligi tufayli rus tilidagi matnni kompyuter shakliga o'tkazishda ko'pincha tushunmovchiliklar yuzaga keladi.

Birinchilardan biri rus alifbosini kodlash standartlari va shaxsiy kompyuterlarda ular KOI8 ("Axborot almashish kodi, 8-bit") deb hisoblashadi. Ushbu kodlash 70-yillarning o'rtalarida bir qator ES kompyuterlarida ishlatilgan va saksoninchi yillarning o'rtalaridan boshlab rus tiliga tarjima qilingan birinchi UNIX operatsion tizimlarida qo'llanila boshlandi.

90-yillarning boshidan boshlab, MS DOS operatsion tizimi hukmronlik qilgan vaqtdan boshlab, CP866 kodlash tizimi paydo bo'ldi ("CP" "Kod sahifasi" degan ma'noni anglatadi).

Gigant kompyuter kompaniyalari APPLE, o'zlari ishlagan innovatsion tizimi (Mac OS) bilan MAC alifbosini kodlash uchun o'zlarining tizimidan foydalanishni boshlaydilar.

Xalqaro standartlar tashkiloti (ISO) rus tili uchun yana bir standartni tayinlaydi alifbo kodlash tizimi, bu ISO 8859-5 deb ataladi.

Va bugungi kunda alifboni kodlash uchun eng keng tarqalgan tizim Microsoft Windows-da ixtiro qilingan va CP1251 deb ataladi.

90-yillarning ikkinchi yarmidan boshlab rus tilidagi matnni raqamli kodga tarjima qilish standarti muammosi nafaqat Unicode deb nomlangan tizimni standartga kiritish orqali hal qilindi. U o'n olti bitli kodlash bilan ifodalanadi, ya'ni har bir belgi uchun aniq ikki bayt operativ xotira ajratilgan. Albatta, bu kodlash bilan xotira xarajatlari ikki barobar ortadi. Biroq, bunday kod tizimi 65 536 tagacha belgilarni elektron kodga aylantirish imkonini beradi.

Standart Unicode tizimining o'ziga xosligi shundaki, u mavjud, yo'q bo'lib ketgan yoki ixtiro qilingan har qanday alifboni kiritishdir. Oxir oqibat, mutlaqo har qanday alifbo, bunga qo'shimcha ravishda, Unicode tizimi juda ko'p matematik, kimyoviy, musiqiy va umumiy belgilarni o'z ichiga oladi.

Kompyuteringiz xotirasida so‘z qanday ko‘rinishini ko‘rish uchun ASCII jadvalidan foydalanamiz.

Ko'pincha rus alifbosidagi harflar bilan yozilgan matnni o'qib bo'lmaydi, bu kompyuterlardagi alifbo kodlash tizimlarining farqlari bilan bog'liq. Bu juda tez-tez uchraydigan juda keng tarqalgan muammo.

Ikkilik kod - bu birliklar va nollar ko'rinishidagi ma'lumotlarni yozib olish shakli. Bu baza 2 ga teng pozitsiondir. Bugungi kunda ikkilik kod (quyida keltirilgan jadvalda raqamlarni yozishning ba'zi misollari mavjud) istisnosiz barcha raqamli qurilmalarda qo'llaniladi. Uning mashhurligi ushbu ro'yxatga olish shaklining yuqori ishonchliligi va soddaligi bilan izohlanadi. Binar arifmetika juda oddiy va shunga mos ravishda uni apparat darajasida amalga oshirish oson. komponentlar (yoki ularni mantiqiy deb ham atashadi) juda ishonchli, chunki ular faqat ikkita holatda ishlaydi: mantiqiy (joriy mavjud) va mantiqiy nol (oqim yo'q). Shunday qilib, ular analog komponentlar bilan ijobiy solishtiriladi, ularning ishlashi vaqtinchalik jarayonlarga asoslangan.

Ikkilik yozuv qanday tuzilgan?

Keling, bunday kalit qanday yaratilganligini aniqlaylik. Ikkilik kodning bir biti faqat ikkita holatni o'z ichiga olishi mumkin: nol va bitta (0 va 1). Ikki bitdan foydalanganda to'rtta qiymatni yozish mumkin bo'ladi: 00, 01, 10, 11. Uch bitli yozuv sakkizta holatni o'z ichiga oladi: 000, 001 ... 110, 111. Natijada, biz uzunligini topamiz. ikkilik kod bitlar soniga bog'liq. Bu ifodani quyidagi formula yordamida yozish mumkin: N =2m, bu erda: m - raqamlar soni, N - kombinatsiyalar soni.

Ikkilik kodlarning turlari

Mikroprotsessorlarda bunday kalitlar turli xil qayta ishlangan ma'lumotlarni yozib olish uchun ishlatiladi. Ikkilik kodning kengligi uning o'rnatilgan xotirasidan sezilarli darajada oshib ketishi mumkin. Bunday hollarda uzun raqamlar bir nechta saqlash joylarini egallaydi va bir nechta buyruqlar yordamida qayta ishlanadi. Bunday holda, ko'p baytli ikkilik kod uchun ajratilgan barcha xotira sektorlari bitta raqam sifatida qabul qilinadi.

U yoki bu ma'lumotni taqdim etish zarurligiga qarab, kalitlarning quyidagi turlari ajratiladi:

  • imzosiz;
  • to'g'ridan-to'g'ri butun sonli belgilar kodlari;
  • imzolangan teskari;
  • qo'shimcha imzo;
  • Kulrang kod;
  • Grey Express kodi;
  • kasr kodlari.

Keling, ularning har birini batafsil ko'rib chiqaylik.

Imzosiz ikkilik kod

Keling, ushbu turdagi yozuv nima ekanligini aniqlaylik. Belgilanmagan butun son kodlarida har bir raqam (ikkilik) ikkining darajasini bildiradi. Bunday holda, bu shaklda yozilishi mumkin bo'lgan eng kichik son nolga teng bo'lib, maksimalni quyidagi formula bilan ifodalash mumkin: M = 2 n -1. Bu ikki raqam bunday ikkilik kodni ifodalash uchun ishlatilishi mumkin bo'lgan kalit diapazonini to'liq belgilaydi. Keling, qayd etilgan ro'yxatga olish shaklining imkoniyatlarini ko'rib chiqaylik. Sakkiz bitdan iborat bu turdagi imzosiz kalitdan foydalanganda mumkin bo'lgan raqamlar diapazoni 0 dan 255 gacha bo'ladi. O'n olti bitli kod 0 dan 65535 gacha bo'lgan diapazonga ega bo'ladi. Sakkiz bitli protsessorlarda ikkita xotira sektori ishlatiladi. qo'shni manzillarda joylashgan bunday raqamlarni saqlash va yozish. Maxsus buyruqlar bunday kalitlar bilan ishlashni ta'minlaydi.

To'g'ridan-to'g'ri tamsayı imzolangan kodlar

Ikkilik kalitning bu turida eng muhim bit sonning belgisini yozish uchun ishlatiladi. Nol plyusga, bittasi esa minusga mos keladi. Ushbu raqamning kiritilishi natijasida kodlangan raqamlar diapazoni salbiy tomonga o'tadi. Ma'lum bo'lishicha, sakkiz bitli imzolangan butun sonli ikkilik kalit -127 dan +127 gacha bo'lgan diapazondagi raqamlarni yozishi mumkin. O'n olti bitli - -32767 dan +32767 gacha. Sakkiz bitli mikroprotsessorlar bunday kodlarni saqlash uchun ikkita qo'shni sektordan foydalanadilar.

Yozib olishning ushbu shaklining kamchiligi shundaki, kalitning belgisi va raqamli bitlari alohida ishlov berilishi kerak. Ushbu kodlar bilan ishlaydigan dasturlarning algoritmlari juda murakkab bo'lib chiqadi. Belgi bitlarini o'zgartirish va ta'kidlash uchun ushbu belgini maskalash mexanizmlaridan foydalanish kerak, bu esa dasturiy ta'minot hajmining keskin oshishiga va uning ishlashining pasayishiga yordam beradi. Ushbu kamchilikni bartaraf etish uchun kalitning yangi turi - teskari ikkilik kod joriy etildi.

Imzolangan teskari kalit

Yozuvning ushbu shakli to'g'ridan-to'g'ri kodlardan farq qiladi, chunki undagi manfiy raqam kalitning barcha bitlarini teskari aylantirish orqali olinadi. Bunday holda, raqamli va ishora bitlari bir xil bo'ladi. Buning yordamida ushbu turdagi kodlar bilan ishlash algoritmlari sezilarli darajada soddalashtirilgan. Biroq, teskari kalit birinchi raqamli belgini tanib olish va raqamning mutlaq qiymatini hisoblash uchun maxsus algoritmni talab qiladi. Olingan qiymatning belgisini tiklash bilan bir qatorda. Bundan tashqari, raqamlarning teskari va to'g'ri kodlarida nol yozish uchun ikkita tugma ishlatiladi. Ushbu qiymatning ijobiy yoki salbiy belgisi yo'qligiga qaramasdan.

Imzolangan ikkita to'ldiruvchi ikkilik son

Ushbu turdagi yozuvlar oldingi kalitlarning sanab o'tilgan kamchiliklariga ega emas. Bunday kodlar ijobiy va salbiy raqamlarni to'g'ridan-to'g'ri yig'ish imkonini beradi. Bunday holda, belgi bitini tahlil qilish amalga oshirilmaydi. Bularning barchasi to'ldiruvchi raqamlar oldinga va orqaga tugmalar kabi sun'iy shakllanishlar emas, balki belgilarning tabiiy halqasi ekanligi tufayli mumkin bo'ldi. Bundan tashqari, muhim omil shundaki, ikkilik kodlarda to'ldiruvchi hisoblarni amalga oshirish juda oson. Buning uchun teskari tugmachaga bittasini qo'shish kifoya. Sakkizta raqamdan iborat ushbu turdagi belgi kodidan foydalanganda mumkin bo'lgan raqamlar diapazoni -128 dan +127 gacha bo'ladi. O'n olti bitli kalit -32768 dan +32767 gacha bo'lgan diapazonga ega bo'ladi. Sakkiz bitli protsessorlar bunday raqamlarni saqlash uchun ikkita qo'shni sektordan ham foydalanadilar.

Ikkilik ikkining to'ldiruvchi kodi o'zining kuzatiladigan ta'siri tufayli qiziq, bu belgi tarqalish hodisasi deb ataladi. Keling, bu nimani anglatishini aniqlaylik. Bu ta'sir shundan iboratki, bitta baytli qiymatni ikki baytliga aylantirish jarayonida yuqori baytning har bir bitiga past baytning belgi bitlarining qiymatlarini belgilash kifoya. Ma'lum bo'lishicha, siz imzolangan bitni saqlash uchun eng muhim bitlardan foydalanishingiz mumkin. Bunday holda, kalitning qiymati umuman o'zgarmaydi.

Kulrang kod

Yozib olishning bu shakli asosan bir bosqichli kalitdir. Ya'ni, bir qiymatdan ikkinchisiga o'tish jarayonida faqat bir bit ma'lumot o'zgaradi. Bunday holda, ma'lumotlarni o'qishdagi xatolik vaqtni biroz o'zgartirish bilan bir pozitsiyadan ikkinchisiga o'tishga olib keladi. Biroq, bunday jarayon bilan burchak pozitsiyasining mutlaqo noto'g'ri natijasini olish butunlay chiqarib tashlanadi. Bunday kodning afzalligi uning ma'lumotni aks ettirish qobiliyatidir. Masalan, eng muhim bitlarni teskari o'zgartirish orqali siz hisoblash yo'nalishini o'zgartirishingiz mumkin. Bu Complement boshqaruv kiritishi tufayli sodir bo'ladi. Bunday holda, chiqish qiymati eksa aylanishning bir jismoniy yo'nalishi uchun ortib yoki kamayishi mumkin. Kulrang tugmachada yozilgan ma'lumotlar faqat tabiatda kodlangan bo'lib, u haqiqiy raqamli ma'lumotlarni o'z ichiga olmaydi, keyingi ishlashdan oldin uni odatiy ikkilik yozish shakliga aylantirish kerak. Bu maxsus konvertor - Grey-Binar dekoder yordamida amalga oshiriladi. Ushbu qurilma apparat va dasturiy ta'minotda elementar mantiqiy elementlar yordamida osonlik bilan amalga oshiriladi.

Kulrang ekspress kod

Greyning standart bir bosqichli kaliti ikkita raqam sifatida ifodalangan echimlar uchun javob beradi. Boshqa echimlarni amalga oshirish zarur bo'lgan hollarda, ushbu yozuv shaklidan faqat o'rta qism kesiladi va ishlatiladi. Natijada, kalitning bir bosqichli xususiyati saqlanib qoladi. Biroq, ushbu kodda raqamli diapazonning boshlanishi nolga teng emas. Belgilangan qiymat bo'yicha siljiydi. Ma'lumotlarni qayta ishlash jarayonida hosil bo'lgan impulslardan boshlang'ich va qisqartirilgan ruxsat o'rtasidagi farqning yarmi chiqariladi.

Qattiq nuqtali ikkilik kalitda kasr sonning tasviri

Ish jarayonida siz nafaqat butun sonlar bilan, balki kasrlar bilan ham ishlashingiz kerak. Bunday raqamlar to'g'ridan-to'g'ri, teskari va qo'shimcha kodlar yordamida yozilishi mumkin. Ko'rsatilgan kalitlarni qurish printsipi butun sonlarniki bilan bir xil. Hozirgacha biz ikkilik vergul eng muhim raqamning o'ng tomonida bo'lishi kerak deb hisoblardik. Ammo bu unday emas. U eng muhim raqamning chap tomonida joylashgan bo'lishi mumkin (bu holda faqat kasr raqamlari o'zgaruvchi sifatida yozilishi mumkin) va o'zgaruvchining o'rtasida (aralash qiymatlar yozilishi mumkin).

Ikkilik suzuvchi nuqta tasviri

Bu shakl yozish uchun ishlatiladi yoki aksincha - juda kichik. Misollar yulduzlararo masofalar yoki atomlar va elektronlarning o'lchamlarini o'z ichiga oladi. Bunday qiymatlarni hisoblashda juda katta ikkilik koddan foydalanish kerak bo'ladi. Biroq, biz millimetr aniqligi bilan kosmik masofalarni hisobga olishimiz shart emas. Shuning uchun, bu holatda qattiq nuqtali yozuv shakli samarasizdir. Bunday kodlarni ko'rsatish uchun algebraik shakl qo'llaniladi. Ya'ni, raqam raqamning istalgan tartibini aks ettiruvchi kuchga o'nga ko'paytiriladigan mantis sifatida yoziladi. Siz bilishingiz kerakki, mantis birdan katta bo'lmasligi kerak va kasrdan keyin nol yozilmasligi kerak.

Ikkilik hisob 18-asr boshlarida nemis matematigi Gotfrid Leybnits tomonidan ixtiro qilingan deb ishoniladi. Biroq, olimlar yaqinda kashf qilganidek, Polineziyaning Mangareva orolidan ancha oldin bu turdagi arifmetikadan foydalanilgan. Mustamlaka asl sanoq tizimlarini deyarli butunlay yo'q qilganiga qaramay, olimlar murakkab ikkilik va o'nlik sanoq turlarini tikladilar. Bundan tashqari, kognitiv olim Nunesning ta'kidlashicha, ikkilik kodlash qadimgi Xitoyda miloddan avvalgi 9-asrda qo'llanilgan. e. Mayyalar kabi boshqa qadimiy tsivilizatsiyalar ham vaqt oralig'i va astronomik hodisalarni kuzatish uchun o'nlik va ikkilik tizimlarning murakkab kombinatsiyalaridan foydalangan.

Chunki u eng sodda va talablarga javob beradi:

  • Tizimda qancha kam qiymatlar mavjud bo'lsa, ushbu qiymatlar bo'yicha ishlaydigan alohida elementlarni ishlab chiqarish osonroq bo'ladi. Jumladan, ikkilik sanoq sistemasining ikkita raqamini ko`pgina fizik hodisalar bilan bemalol ifodalash mumkin: oqim bor - oqim yo`q, magnit maydon induksiyasi chegara qiymatidan katta yoki yo`q va hokazo.
  • Elementning holati qanchalik kam bo'lsa, shovqinga qarshi immunitet shunchalik yuqori bo'ladi va u tezroq ishlaydi. Masalan, magnit maydon induksiyasining kattaligi orqali uchta holatni kodlash uchun siz ikkita chegara qiymatini kiritishingiz kerak bo'ladi, bu shovqin immunitetiga va ma'lumotni saqlashning ishonchliligiga hissa qo'shmaydi.
  • Ikkilik arifmetika juda oddiy. Oddiy qo'shish va ko'paytirish jadvallari - raqamlar bilan asosiy operatsiyalar.
  • Mantiqiy algebra apparatidan sonlar ustida bitli amallarni bajarish uchun foydalanish mumkin.

Havolalar

  • Raqamlarni bir sanoq tizimidan ikkinchisiga o'tkazish uchun onlayn kalkulyator

Wikimedia fondi. 2010 yil.

Boshqa lug'atlarda "Ikkilik kod" nima ekanligini ko'ring:

    2-bitli kulrang kod 00 01 11 10 3-bitli kulrang kod 000 001 011 010 110 111 101 100 4-bitli kulrang kod 0000 0001 0011 0010 0110 01110101101101101 0 1010 1011 1001 1000 Kulrang kod sanoq tizimidagi qaysi ikki qo'shni qiymatlar ... ... Vikipediya

    Signal System 7 (SS7, OX 7) ning Signal Point Code (SPC) noyob (uy tarmog'idagi) tugun manzili bo'lib, identifikatsiya qilish uchun OX 7 telekommunikatsiya tarmoqlarida uchinchi MTP darajasida (marshrutlash) foydalaniladi ... Vikipediya

    Matematikada kvadratsiz son 1 dan boshqa hech qanday kvadratga bo'linmaydigan sondir. Masalan, 10 kvadratsiz, lekin 18 emas, chunki 18 soni 9 ga bo'linishi = 32. Ketma-ketlikning boshlanishi. kvadratsiz raqamlar: 1, 2, 3, 5, 6, 7,… … Vikipediya

    Ushbu maqolani yaxshilash uchun quyidagilarni xohlaysizmi: maqolani Wikifying. Maqola yozish qoidalariga muvofiq dizaynni qayta ishlang. Maqolani Vikipediya stilistik qoidalariga muvofiq to'g'rilang ... Vikipediya

    Bu atamaning boshqa maʼnolari ham bor, qarang: Python (maʼnolari). Python tili sinfi: mu... Vikipediya

    So'zning tor ma'nosida, bu ibora hozirda "Xavfsizlik tizimiga urinish" degan ma'noni anglatadi va keyingi atama, Cracker hujumi ma'nosiga ko'proq moyil. Bu "hacker" so'zining o'zi ma'nosining buzilishi tufayli sodir bo'ldi. Xaker... ...Vikipediya

Ikkilik kod- bu 0 yoki 1 belgilarini birlashtirgan holda ma'lumot taqdimoti. Ba'zan bu ikki raqam shaklida ma'lumotni kodlash tamoyilini tushunish juda qiyin bo'lishi mumkin, ammo biz hamma narsani batafsil tushuntirishga harakat qilamiz.

Aytgancha, bizning veb-saytimizda Onlayn kod kalkulyatori yordamida istalgan matnni o'nlik, o'n oltilik, ikkilik kodga aylantirishingiz mumkin.

Biror narsani birinchi marta ko'rganimizda, biz ko'pincha uning qanday ishlashi haqida mantiqiy savol beramiz. Har qanday yangi ma'lumot biz tomonidan murakkab narsa sifatida qabul qilinadi yoki faqat uzoqdan ko'rish uchun yaratilgan, lekin ko'proq bilishni xohlaydigan odamlar uchun. ikkilik kod, oddiy haqiqat oshkor bo'ldi - ikkilik kodni tushunish biz uchun ko'rinadigan darajada qiyin emas. Masalan, inglizcha T harfi ikkilik tizim quyidagi ko'rinishga ega bo'ladi - 01010100, E - 01000101 va X harfi - 01011000. Shunga asoslanib, ingliz tilidagi METN so'zining ikkilik kod ko'rinishida shunday ko'rinishini tushunamiz: 01010100 01000101 01011000 0101100011000 kompyuter buni aniq tushunadi. bu so'z uchun ramzlarning ifodalanishi, Xo'sh, biz uni alifbo harflari taqdimotida ko'rishni afzal ko'ramiz.

Bugungi kunda ikkilik kod dasturlashda faol foydalaniladi, chunki u tufayli kompyuterlar ishlaydi. Ammo dasturlash cheksiz nol va birlar to'plamiga qisqartirilmaydi. Bu juda ko'p mehnat talab qiladigan jarayon bo'lganligi sababli, kompyuter va inson o'rtasidagi tushunishni soddalashtirish choralari ko'rildi. Muammoni hal qilish dasturlash tillarini (BASIC, C++ va boshqalar) yaratish edi. Natijada, dasturchi o'zi tushunadigan tilda dastur yozadi, so'ngra kompilyator dasturi kompyuterni ishga tushirgan holda hamma narsani mashina kodiga aylantiradi.

Natural sonni o‘nlik sanoq sistemasidan ikkilik sistemaga o‘tkazish.

Raqamlarni o'nlik sanoq tizimidan ikkilik sanoq tizimiga o'tkazish uchun ular quyidagi harakatlar ketma-ketligidan iborat "almashtirish algoritmi" dan foydalanadilar:

1. Kerakli sonni tanlang va uni 2 ga bo'ling. Agar bo'linish natijasi qoldiq bo'lsa, u holda ikkilik kod raqami 1, qoldiq bo'lmasa, 0 bo'ladi.

2. Qoldiqni tashlab, agar bitta bo'lsa, birinchi bo'linish natijasida olingan sonni yana 2 ga bo'ling. Qolganlarning mavjudligiga qarab ikkilik tizimning sonini o'rnating.

3. Biz ikkilik tizimning sonini qoldiqdan hisoblab, bo'linib bo'lmaydigan songa - 0 ga yetguncha bo'linishni davom ettiramiz.

4. Bu vaqtda ikkilik kod tayyor hisoblanadi.

Masalan, 7 raqamini ikkilik raqamga aylantiramiz:

1,7:2 = 3,5. Qoldiq bo'lgani uchun biz ikkilik kodning birinchi raqami sifatida 1 ni yozamiz.

2. 3: 2 = 1,5. Qolganiga qarab 1 dan 0 gacha bo'lgan kod raqamini tanlash bilan protsedurani takrorlaymiz.

3. 1:2 = 0,5. Xuddi shu printsipdan foydalanib, yana 1 ni tanlaymiz.

4. Natijada, biz o'nlik sanoq sistemasidan ikkilik sanoq sistemasiga aylantirilganda, kod 111 ni olamiz.

Shu tarzda siz cheksiz sonli raqamlarni tarjima qilishingiz mumkin. Endi teskarisini qilishga harakat qilaylik - sonni ikkilikdan o'nli tizimga aylantiramiz.

Ikkilik sistema sonini o‘nlik songa o‘tkazish.

Buning uchun biz ikkilik raqamimizni 111 dan boshlab, oxiridan boshlab raqamlashimiz kerak. 111 uchun bu 1^2 1^1 1^0. Shunga asoslanib, raqam uchun raqam uning darajasi bo'lib xizmat qiladi. Keyinchalik, biz quyidagi formula bo'yicha amallarni bajaramiz: (x * 2^y) + (x * 2^y) + (x * 2^y), bu erda x - ikkilik kodning tartib raqami va y - quvvat. bu raqamdan. Biz ikkilik raqamimizni ushbu formula ostida almashtiramiz va natijani hisoblaymiz. Biz quyidagilarni olamiz: (1 * 2^2) + (1 * 2^1) + (1 * 2^0) = 4 + 2 + 1 = 7.

Ikkilik sanoq sistemasining qisqacha tarixi.

Umuman olganda, bu birinchi marta qabul qilinadi ikkilik tizim Gotfrid Vilgelm Leybnits tomonidan taklif qilingan bo'lib, u tizimni murakkab matematik hisoblar va fanda foydali deb hisoblagan. Ammo ba'zi ma'lumotlarga ko'ra, uning ikkilik sanoq tizimi haqidagi taklifidan oldin, Xitoyda devor yozuvi paydo bo'lgan, u tomonidan shifrlangan. ikkilik kod yordamida. Yozuvda uzun va qisqa tayoqlar ko'rsatilgan. Uzun tayoq 1 va qisqa tayoq 0 deb faraz qilsak, Xitoyda ikkilik kod g'oyasi rasmiy kashfiyotidan ancha oldin mavjud bo'lgan. Kodni dekodlash u erda faqat oddiy natural sonni aniqladi, ammo bu shundayligicha qolmoqda.



 


O'qing:



Asus planshetingiz muzlab qolsa nima qilish kerak

Asus planshetingiz muzlab qolsa nima qilish kerak

Hayot o'z qoidalarini belgilaydi, ko'pchilik allaqachon shaxsiy kompyuterda Internetda vaqt o'tkazishdan voz kechishgan va planshetdan foydalanishni afzal ko'rishgan. Ammo, siz bilganingizdek, ...

Qattiq diskni SSD ga qanday o'zgartirish mumkin

Qattiq diskni SSD ga qanday o'zgartirish mumkin

Qattiq disk eskirgan bo'lsa, yomon ishlay boshlasa yoki joriy quvvat etarli bo'lmasa, foydalanuvchi uni yangi HDD ga o'zgartirishga qaror qiladi yoki...

Ochilish sahifasini yaratish - mustaqil va bepul ochilish sahifasini yaratishning eng yaxshi usuli qanday?

Ochilish sahifasini yaratish - mustaqil va bepul ochilish sahifasini yaratishning eng yaxshi usuli qanday?

Shablonlar soni muhim, deyishingiz mumkin, siz oddiy funksionallik kerak, deyishingiz mumkin, narxlar eng muhim rol o'ynaydi, lekin...

Agar parolingizni unutgan bo'lsangiz, iPhone qulfini qanday ochish mumkin?

Agar parolingizni unutgan bo'lsangiz, iPhone qulfini qanday ochish mumkin?

ICloud paroli unutilgan yoki yo'qolgan vaziyat har kimga, hatto iOS qurilmasining eng ehtiyotkor foydalanuvchisiga ham sodir bo'lishi mumkin. Yo'q...

tasma tasviri RSS