رمزگشایی کد باینری: ابزارهای آنلاین در صورت امکان. کدگذاری باینری 1010 کد باینری

کد باینری شکلی از ثبت اطلاعات به صورت یک و صفر است. این به صورت موقعیتی با پایه 2 است. امروزه کد باینری (جدولی که کمی در زیر ارائه شده شامل نمونه هایی از نوشتن اعداد است) بدون استثنا در همه دستگاه های دیجیتال استفاده می شود. محبوبیت آن با قابلیت اطمینان بالا و سادگی این شکل از ضبط توضیح داده شده است. محاسبات باینری بسیار ساده است و بر این اساس پیاده سازی آن در سطح سخت افزاری آسان است. اجزاء (یا همانطور که به آنها منطقی نیز گفته می شود) بسیار قابل اعتماد هستند، زیرا آنها فقط در دو حالت عمل می کنند: یک منطقی (جریان وجود دارد) و منطقی صفر (بدون جریان). بنابراین، آنها به طور مطلوب با اجزای آنالوگ مقایسه می شوند که عملکرد آنها بر اساس فرآیندهای گذرا است.

نماد باینری چگونه تشکیل می شود؟

بیایید بفهمیم که چگونه چنین کلیدی تشکیل می شود. یک بیت کد باینری فقط می تواند شامل دو حالت باشد: صفر و یک (0 و 1). هنگام استفاده از دو بیت، نوشتن چهار مقدار ممکن می شود: 00، 01، 10، 11. یک ورودی سه بیتی شامل هشت حالت است: 000، 001 ... 110، 111. در نتیجه، متوجه می شویم که طول کد باینری به تعداد بیت ها بستگی دارد. این عبارت را می توان با استفاده از فرمول زیر نوشت: N = 2m، که در آن: m تعداد ارقام و N تعداد ترکیبات است.

انواع کدهای باینری

در ریزپردازنده ها از چنین کلیدهایی برای ثبت اطلاعات مختلف پردازش شده استفاده می شود. عرض کد باینری می تواند به میزان قابل توجهی از حافظه داخلی آن فراتر رود. در چنین مواردی، اعداد طولانی چندین مکان ذخیره را اشغال می کنند و با استفاده از چندین دستور پردازش می شوند. در این حالت، تمام بخش های حافظه که برای کد باینری چند بایتی اختصاص داده شده اند، به عنوان یک عدد در نظر گرفته می شوند.

بسته به نیاز به ارائه این یا آن اطلاعات، انواع کلیدهای زیر متمایز می شوند:

  • بدون امضا؛
  • کدهای کاراکتر اعداد صحیح مستقیم؛
  • معکوس امضا شده؛
  • علامت اضافی؛
  • کد خاکستری؛
  • کد اکسپرس خاکستری؛
  • کدهای کسری

بیایید نگاهی دقیق تر به هر یک از آنها بیندازیم.

کد باینری بدون امضا

بیایید بفهمیم که این نوع ضبط چیست. در کدهای عدد صحیح بدون علامت، هر رقم (دودویی) نشان دهنده توان دو است. در این حالت، کوچکترین عددی که می توان به این شکل نوشت صفر است و حداکثر را می توان با فرمول زیر نشان داد: M = 2 n -1. این دو عدد به طور کامل محدوده کلیدی را که می توان برای بیان چنین کد باینری استفاده کرد، مشخص می کند. به قابلیت های فرم ضبط مذکور می پردازیم. در هنگام استفاده از این نوع کلید بدون علامت که شامل هشت بیت است، محدوده اعداد ممکن از 0 تا 255 خواهد بود. یک کد شانزده بیتی محدوده ای از 0 تا 65535 خواهد داشت. در پردازنده های هشت بیتی، از دو بخش حافظه استفاده می شود. برای ذخیره و نوشتن چنین اعدادی که در مقاصد مجاور قرار دارند. دستورات ویژه کار با چنین کلیدهایی را فراهم می کند.

کدهای امضا شده مستقیم با عدد صحیح

در این نوع کلیدهای باینری از مهم ترین بیت برای ثبت علامت عدد استفاده می شود. صفر مربوط به یک مثبت و یک مربوط به منفی است. در نتیجه معرفی این رقم، دامنه اعداد رمزگذاری شده به سمت منفی تغییر می کند. به نظر می رسد که یک کلید باینری عدد صحیح با علامت هشت بیتی می تواند اعدادی را در محدوده 127- تا 127+ بنویسد. شانزده بیت - در محدوده -32767 تا +32767. ریزپردازنده های هشت بیتی از دو بخش مجاور برای ذخیره چنین کدهایی استفاده می کنند.

عیب این شکل ضبط این است که علامت و بیت های دیجیتال کلید باید جداگانه پردازش شوند. الگوریتم برنامه هایی که با این کدها کار می کنند بسیار پیچیده هستند. برای تغییر و برجسته کردن بیت های علامت، باید از مکانیسم هایی برای پوشاندن این نماد استفاده کرد که به افزایش شدید اندازه نرم افزار و کاهش عملکرد آن کمک می کند. به منظور رفع این اشکال، نوع جدیدی از کلید معرفی شد - یک کد باینری معکوس.

کلید معکوس امضا شده

این شکل از ضبط تنها با کدهای مستقیم تفاوت دارد که عدد منفی موجود در آن با معکوس کردن تمام بیت های کلید به دست می آید. در این مورد، بیت های دیجیتال و علامت یکسان هستند. به لطف این، الگوریتم های کار با این نوع کد به طور قابل توجهی ساده شده است. با این حال، کلید معکوس به یک الگوریتم خاص برای تشخیص کاراکتر رقم اول و محاسبه قدر مطلق عدد نیاز دارد. و همچنین بازیابی علامت مقدار حاصل. همچنین در کدهای معکوس و رو به جلو اعداد از دو کلید برای نوشتن صفر استفاده می شود. با وجود اینکه این مقدار علامت مثبت یا منفی ندارد.

عدد باینری متمم دو را امضا کرد

این نوع رکورد دارای معایب ذکر شده کلیدهای قبلی نیست. چنین کدهایی امکان جمع مستقیم اعداد مثبت و منفی را فراهم می کنند. در این مورد، هیچ تحلیلی از بیت علامت انجام نمی شود. همه اینها با این واقعیت امکان پذیر است که اعداد مکمل یک حلقه طبیعی از نمادها هستند، نه تشکیلات مصنوعی مانند کلیدهای جلو و عقب. علاوه بر این، یک عامل مهم این است که انجام محاسبات مکمل در کدهای باینری بسیار آسان است. برای این کار کافیست یکی را به کلید معکوس اضافه کنید. در هنگام استفاده از این نوع کد علامت شامل هشت رقم، محدوده اعداد ممکن از 128- تا 127+ خواهد بود. یک کلید شانزده بیتی دارای محدوده ای از -32768 تا +32767 خواهد بود. پردازنده های هشت بیتی نیز از دو بخش مجاور برای ذخیره چنین اعدادی استفاده می کنند.

کد مکمل باینری دو به دلیل اثر قابل مشاهده اش که پدیده انتشار علامت نامیده می شود جالب است. بیایید بفهمیم این به چه معناست. این اثر بدین صورت است که در فرآیند تبدیل یک مقدار تک بایتی به یک بایت دو بایتی، کافی است مقادیر بیت های علامت بایت کم را به هر بیت از بایت بالا اختصاص دهیم. به نظر می رسد که می توانید از مهم ترین بیت ها برای ذخیره بیت های امضا شده استفاده کنید. در این حالت مقدار کلید به هیچ وجه تغییر نمی کند.

کد خاکستری

این شکل از ضبط اساسا یک کلید یک مرحله ای است. یعنی در فرآیند انتقال از یک مقدار به مقدار دیگر، تنها یک بیت از اطلاعات تغییر می کند. در این حالت، یک خطا در خواندن داده ها منجر به انتقال از یک موقعیت به موقعیت دیگر با تغییر زمانی جزئی می شود. با این حال، به دست آوردن یک نتیجه کاملاً نادرست از موقعیت زاویه ای با چنین فرآیندی کاملاً منتفی است. مزیت چنین کدی توانایی آن در انعکاس اطلاعات است. به عنوان مثال، با معکوس کردن مهم ترین بیت ها، می توانید به سادگی جهت شمارش را تغییر دهید. این به لطف ورودی کنترل Complement اتفاق می افتد. در این حالت، مقدار خروجی می تواند برای یک جهت فیزیکی چرخش محور افزایش یا کاهش یابد. از آنجایی که اطلاعات ثبت شده در کلید خاکستری منحصراً در طبیعت رمزگذاری شده است، که داده های عددی واقعی را حمل نمی کند، قبل از کار بیشتر لازم است ابتدا آن را به شکل معمول باینری ضبط تبدیل کنید. این کار با استفاده از یک مبدل ویژه - رمزگشای Gray-Binar انجام می شود. این دستگاه را می توان به راحتی با استفاده از عناصر منطقی ابتدایی هم در سخت افزار و هم در نرم افزار پیاده سازی کرد.

کد اکسپرس خاکستری

کلید استاندارد یک مرحله ای گری برای راه حل هایی که به صورت اعداد، دو نشان داده می شوند، مناسب است. در مواردی که نیاز به اجرای راهکارهای دیگر باشد، فقط قسمت میانی از این شکل ضبط بریده شده و مورد استفاده قرار می گیرد. در نتیجه ماهیت تک مرحله ای کلید حفظ می شود. اما در این کد شروع محدوده عددی صفر نیست. با مقدار مشخص شده جابجا می شود. در طول پردازش داده ها، نیمی از اختلاف بین وضوح اولیه و کاهش یافته از پالس های تولید شده کم می شود.

نمایش یک عدد کسری در کلید باینری نقطه ثابت

در فرآیند کار، شما باید نه تنها با اعداد کامل، بلکه با کسرها نیز کار کنید. چنین اعدادی را می توان با استفاده از کدهای مستقیم، معکوس و مکمل نوشت. اصل ساخت کلیدهای ذکر شده همانند اعداد صحیح است. تا به حال، ما معتقد بودیم که کاما باینری باید در سمت راست رقمی باشد که کمترین اهمیت را دارد. اما این درست نیست. می توان آن را در سمت چپ مهم ترین رقم قرار داد (در این حالت فقط اعداد کسری را می توان به عنوان متغیر نوشت) و در وسط متغیر (مقادیر مختلط را می توان نوشت).

نمایش ممیز شناور باینری

این فرم برای نوشتن استفاده می شود یا برعکس - بسیار کوچک. به عنوان مثال می توان به فواصل بین ستاره ای یا اندازه اتم ها و الکترون ها اشاره کرد. هنگام محاسبه چنین مقادیری، باید از کد باینری بسیار بزرگ استفاده کرد. با این حال، نیازی نیست که فاصله های کیهانی را با دقت میلی متری در نظر بگیریم. بنابراین، فرم علامت نقطه ثابت در این مورد بی اثر است. برای نمایش چنین کدهایی از فرم جبری استفاده می شود. یعنی عدد به صورت آخوندک ضرب در ده به توانی نوشته می شود که ترتیب مورد نظر عدد را نشان می دهد. باید بدانید که آخوندک نباید بزرگتر از یک باشد و نباید بعد از اعشار صفر نوشته شود.

اعتقاد بر این است که حساب دودویی در اوایل قرن 18 توسط ریاضیدان آلمانی گوتفرید لایبنیتس اختراع شده است. با این حال، همانطور که دانشمندان اخیراً کشف کردند، مدت ها قبل از جزیره پلینزی Mangareva، از این نوع حساب استفاده می شد. علیرغم این واقعیت که استعمار تقریباً به طور کامل سیستم های اعداد اصلی را نابود کرد، دانشمندان انواع پیچیده باینری و اعشاری شمارش را بازیابی کردند. علاوه بر این، دانشمند شناختی Nunez ادعا می کند که کدگذاری دودویی در چین باستان در اوایل قرن نهم قبل از میلاد استفاده می شد. ه. سایر تمدن های باستانی مانند مایاها نیز از ترکیب پیچیده ای از سیستم های اعشاری و دوتایی برای ردیابی فواصل زمانی و پدیده های نجومی استفاده می کردند.

تصمیم گرفتم ابزاری بسازم مانند تبدیل متن به کد باینری و بالعکس، چنین خدماتی وجود دارد، اما آنها معمولا با الفبای لاتین کار می کنند، اما من مترجم با رمزگذاری یونیکد در قالب UTF-8 کار می کند، که کاراکترهای سیریلیک را در دو بایت رمزگذاری می کند، در حال حاضر، قابلیت های مترجم به رمزگذاری های دو بایتی محدود شده است. ترجمه حروف چینی امکان پذیر نیست، اما من قصد دارم این سوء تفاهم آزار دهنده را اصلاح کنم.

برای تبدیل متن به نمایش باینریمتن را در پنجره سمت چپ وارد کنید و روی TEXT->BIN در پنجره سمت راست کلیک کنید، نمایش باینری آن ظاهر می شود.

برای تبدیل کد باینری به متنکد را در پنجره سمت راست وارد کنید و BIN->TEXT را فشار دهید، نمایش نمادین آن در پنجره سمت چپ ظاهر می شود.

اگر ترجمه کد باینری به متنیا بالعکس درست نشد - صحت داده های خود را بررسی کنید!

به روز رسانی!

تبدیل متن معکوس فرم اکنون در دسترس است:

بازگشت به حالت عادی. برای انجام این کار، باید کادر را علامت بزنید: "0 را با فاصله ها و 1 را با مکان نگهدار █ جایگزین کنید." سپس متن را در کادر سمت راست قرار دهید: «متن در نمایش باینری» و روی دکمه زیر آن «BIN->TEXT» کلیک کنید.

هنگام کپی کردن چنین متن هایی باید مراقب باشید زیرا ... شما می توانید به راحتی فضاهای ابتدا یا انتها را از دست بدهید. به عنوان مثال، خط در بالا به نظر می رسد:

██ █ █ ███████ █ ██ ██ █ █ ███ ██ █ █ ██ █ ██ █ █ ██ █ ███ █ ██ █ █ ██ █ █ ███ ██ █ █ ███ ██ █ ██

و در زمینه قرمز:

██ █ █ ███████ █ ██ ██ █ █ ███ ██ █ █ ██ █ ██ █ █ ██ █ ███ █ ██ █ █ ██ █ █ ███ ██ █ █ ███ ██ █ ██

آیا می بینید که در پایان چند فاصله می توانید از دست بدهید؟

معنای اصطلاح "دودویی" این است که از دو بخش یا جزء تشکیل شده است. بنابراین، کدهای باینری کدهایی هستند که تنها از دو حالت نمادین تشکیل شده اند، مانند سیاه یا سفید، روشن یا تاریک، هادی یا عایق. کد باینری در فناوری دیجیتال روشی برای نمایش داده ها (اعداد، کلمات و غیره) به صورت ترکیبی از دو کاراکتر است که می تواند به صورت 0 و 1 تعیین شود. کاراکترها یا واحدهای BC را بیت می نامند. یکی از توجیهات استفاده از BC، سادگی و قابل اعتماد بودن ذخیره سازی اطلاعات در هر محیطی به شکل ترکیبی از دو حالت فیزیکی آن است، به عنوان مثال، به شکل تغییر یا ثبات شار نور در زمانی که خواندن از روی دیسک کد نوری
برای رمزگذاری اطلاعات امکانات مختلفی وجود دارد.

کد باینری

در فناوری دیجیتال، روشی برای نمایش داده ها (اعداد، کلمات و غیره) به صورت ترکیبی از دو کاراکتر است که می تواند به صورت 0 و 1 تعیین شود. علائم یا واحدهای DC را بیت می نامند.

یکی از توجیهات استفاده از DC، سادگی و قابل اعتماد بودن ذخیره سازی اطلاعات در هر محیطی به صورت ترکیبی از دو حالت فیزیکی آن است، به عنوان مثال، به صورت تغییر یا ثبات شار مغناطیسی در یک سلول معین از محیط ضبط مغناطیسی.

بزرگترین عددی که می توان به صورت دودویی بیان کرد به تعداد ارقام استفاده شده بستگی دارد، یعنی. بر روی تعداد بیت های ترکیبی که عدد را بیان می کند. به عنوان مثال، برای بیان مقادیر عددی از 0 تا 7، کافی است یک کد 3 رقمی یا 3 بیتی داشته باشید:

مقدار عددی کد باینری
0 000
1 001
2 010
3 011
4 100
5 101
6 110
7 111

از اینجا می‌توانیم ببینیم که برای یک عدد بزرگتر از 7 با یک کد 3 رقمی دیگر ترکیب کدهای 0 و 1 وجود ندارد.

با حرکت از اعداد به کمیت های فیزیکی، اجازه دهید بیانیه فوق را به شکل کلی تر فرموله کنیم: بیشترین تعداد مقادیر m از هر کمیت (دما، ولتاژ، جریان و غیره) که می تواند در کد باینری بیان شود، بستگی دارد. بر روی تعداد بیت های n استفاده شده به عنوان m= 2n. اگر n=3، همانطور که در مثال در نظر گرفته شده است، 8 مقدار از جمله 0 پیشرو دریافت می کنیم.
کد باینری یک کد چند مرحله ای است. این بدان معنی است که هنگام حرکت از یک موقعیت (مقدار) به موقعیت دیگر، چندین بیت می توانند به طور همزمان تغییر کنند. به عنوان مثال، عدد 3 در کد باینری = 011. عدد 4 در کد باینری = 100. بر این اساس، هنگام حرکت از 3 به 4، هر 3 بیت به طور همزمان حالت خود را به عکس تغییر می دهند. خواندن چنین کدی از دیسک کد منجر به این واقعیت می شود که به دلیل انحرافات (تلرانس ها) اجتناب ناپذیر در طول تولید یک دیسک کد، تغییر در اطلاعات هر یک از آهنگ ها به طور جداگانه هرگز به طور همزمان رخ نخواهد داد. این به نوبه خود منجر به این واقعیت می شود که هنگام انتقال از یک عدد به عدد دیگر، اطلاعات نادرست به طور خلاصه ارائه می شود. بنابراین، در طول انتقال فوق الذکر از عدد 3 به عدد 4، خروجی کوتاه مدت عدد 7 بسیار محتمل است، به عنوان مثال، زمانی که مهم ترین بیت در طول انتقال مقدار خود را کمی زودتر از بقیه تغییر داده است. . برای جلوگیری از این امر، از یک کد به اصطلاح یک مرحله ای استفاده می شود، به عنوان مثال به اصطلاح کد خاکستری.

کد خاکستری

کد خاکستری یک کد به اصطلاح یک مرحله ای است، یعنی. هنگام انتقال از یک عدد به عدد دیگر، تنها یکی از تمام بیت های اطلاعات همیشه تغییر می کند. یک خطا در هنگام خواندن اطلاعات از یک دیسک کد مکانیکی هنگام حرکت از یک عدد به عدد دیگر تنها منجر به این واقعیت می شود که انتقال از یک موقعیت به موقعیت دیگر فقط اندکی در زمان جابجا می شود، اما صدور یک مقدار موقعیت زاویه ای کاملاً نادرست هنگامی که حرکت از یک موقعیت به موقعیت دیگر به طور کامل حذف می شود.
یکی دیگر از مزایای Gray Code توانایی آن در بازتاب اطلاعات است. بنابراین، با معکوس کردن مهم ترین بیت، می توانید به سادگی جهت شمارش را تغییر دهید و در نتیجه جهت واقعی (فیزیکی) چرخش محور را مطابقت دهید. تغییر جهت شمارش به این روش را می توان به راحتی با کنترل ورودی به اصطلاح "مکمل" تغییر داد. بنابراین مقدار خروجی می تواند برای همان جهت فیزیکی چرخش محور افزایش یا کاهش یابد.
از آنجایی که اطلاعات بیان شده در کد خاکستری صرفاً در طبیعت رمزگذاری شده است و اطلاعات عددی واقعی را حمل نمی کند، ابتدا باید قبل از پردازش بیشتر به یک کد باینری استاندارد تبدیل شود. این کار با استفاده از یک مبدل کد (رمزگشا Gray-Binar) انجام می شود که خوشبختانه با استفاده از مداری از عناصر منطقی انحصاری یا (XOR) هم در نرم افزار و هم در سخت افزار به راحتی پیاده سازی می شود.

اعداد اعشاری مربوطه در محدوده 0 تا 15 تا کدهای باینری و خاکستری

کدگذاری باینری کد نویسی خاکستری
کد اعشاری
مقدار باینری شانزده معنی کد اعشاری مقدار باینری شانزده معنی
0 0000 0 ساعت 0 0000 0 ساعت
1 0001 1 ساعت 1 0001 1 ساعت
2 0010 2 ساعت 3 0011 3 ساعت
3 0011 3 ساعت 2 0010 2 ساعت
4 0100 4 ساعت 6 0110 6 ساعت
5 0101 5 ساعت 7 0111 7 ساعت
6 0110 6 ساعت 5 0101 5 ساعت
7 0111 7 ساعت 4 0100 4 ساعت
8 1000 8 ساعت 12 1100 چ
9 1001 ساعت 9 13 1101 Dh
10 1010 آه 15 1111 Fh
11 1011 Bh 14 1110 هه
12 1100 چ 10 1010 آه
13 1101 Dh 11 1011 Bh
14 1110 هه 9 1001 ساعت 9
15 1111 Fh 8 1000 8 ساعت

تبدیل کد خاکستری به کد باینری معمولی را می توان با استفاده از یک مدار ساده با اینورترها و گیت های انحصاری یا انحصاری مطابق شکل زیر انجام داد:

کد خاکستری-زیاد

کد معمولی یک مرحله‌ای Gray برای وضوح‌هایی مناسب است که می‌توان آنها را به صورت عددی به توان ۲ نشان داد. در مواردی که نیاز به پیاده‌سازی مجوزهای دیگر باشد، بخش میانی از کد Grey معمولی بریده شده و استفاده می‌شود. به این ترتیب کد "یک مرحله ای" باقی می ماند. با این حال، محدوده عددی از صفر شروع نمی شود، بلکه با مقدار مشخصی جابجا می شود. هنگام پردازش اطلاعات، نیمی از تفاوت بین وضوح اصلی و کاهش یافته از سیگنال تولید شده کم می شود. رزولوشن هایی مثل 360؟ برای بیان یک زاویه اغلب با این روش اجرا می شوند. بنابراین یک کد خاکستری 9 بیتی برابر با 512 مرحله، که از هر دو طرف با 76 مرحله بریده شده است، برابر با 360 درجه خواهد بود.

کد باینری- این ارائه اطلاعات با ترکیب نمادهای 0 یا 1 است. گاهی اوقات درک اصل رمزگذاری اطلاعات در قالب این دو عدد بسیار دشوار است، اما ما سعی خواهیم کرد همه چیز را با جزئیات توضیح دهیم.

به هر حال، در وب سایت ما می توانید با استفاده از ماشین حساب آنلاین کد، هر متنی را به کد اعشاری، هگزادسیمال، باینری تبدیل کنید.

هنگامی که چیزی را برای اولین بار می بینیم، اغلب یک سوال منطقی در مورد نحوه عملکرد آن می پرسیم. هر گونه اطلاعات جدید توسط ما به عنوان چیزی پیچیده یا ایجاد شده منحصراً برای مشاهده از راه دور درک می شود، اما برای افرادی که می خواهند بیشتر در مورد آن بیاموزند. کد باینری، یک حقیقت ساده آشکار می شود - همانطور که به نظر ما می رسد درک کد باینری اصلاً دشوار نیست. به عنوان مثال، حرف انگلیسی T in سیستم دودوییبه شکل زیر خواهد بود - 01010100، E - 01000101 و حرف X - 01011000. بر این اساس، می‌فهمیم که کلمه انگلیسی TEXT در قالب کد باینری به این شکل خواهد بود: 01010100 01000101 01011000 کامپیوترها این را می‌فهمند. نمایش نمادها برای این کلمه، خوب، ما ترجیح می دهیم آن را در ارائه حروف الفبا ببینیم.

به روز کد باینریبه طور فعال در برنامه نویسی استفاده می شود، زیرا به لطف آن است که رایانه ها کار می کنند. اما برنامه نویسی به مجموعه بی نهایت صفر و یک تقلیل نمی یابد. از آنجایی که این یک فرآیند کاملاً کار فشرده است، اقداماتی برای ساده کردن درک بین رایانه و انسان انجام شده است. راه حل مشکل ایجاد زبان های برنامه نویسی (BASIC، C++ و غیره) بود. در نتیجه، برنامه نویس برنامه ای را به زبانی می نویسد که می فهمد، و سپس یک برنامه کامپایلر همه چیز را به کد ماشین ترجمه می کند و کامپیوتر را راه اندازی می کند.

تبدیل یک عدد طبیعی از سیستم اعداد اعشاری به سیستم باینری.

برای تبدیل اعداد از سیستم اعداد اعشاری به سیستم اعداد باینری، آنها از یک "الگوریتم جایگزینی" استفاده می کنند که شامل دنباله ای از اقدامات زیر است:

1. عدد مورد نظر را انتخاب کنید و آن را بر 2 تقسیم کنید. اگر حاصل تقسیم با باقی مانده باشد، عدد کد باینری 1 و اگر باقیمانده نباشد 0 می شود.

2. از بین بردن باقیمانده، در صورت وجود، دوباره عدد به دست آمده در نتیجه تقسیم اول را بر 2 تقسیم کنید. تعداد سیستم باینری را بسته به وجود باقیمانده تنظیم کنید.

3. تقسیم را ادامه می دهیم و تعداد سیستم باینری را از باقی مانده محاسبه می کنیم تا به عددی برسیم که قابل تقسیم نیست - 0.

4. در این مرحله کد باینری آماده در نظر گرفته می شود.

به عنوان مثال، بیایید عدد 7 را به باینری تبدیل کنیم:

1.7:2 = 3.5. از آنجایی که باقی مانده است، 1 را به عنوان اولین عدد کد باینری می نویسیم.

2. 3: 2 = 1.5. ما این روش را با انتخاب یک عدد کد بین 1 و 0 بسته به باقیمانده تکرار می کنیم.

3. 1:2 = 0.5. با استفاده از همان اصل دوباره 1 را انتخاب می کنیم.

4. در نتیجه، با تبدیل از سیستم اعداد اعشاری به سیستم اعداد باینری، کد 111 را دریافت می کنیم.

به این ترتیب می توانید بی نهایت عدد را ترجمه کنید. حالا بیایید سعی کنیم برعکس انجام دهیم - یک عدد را از باینری به اعشاری تبدیل کنیم.

تبدیل یک عدد سیستم باینری به اعشاری.

برای این کار باید عدد باینری خود را 111 از انتها شماره گذاری کنیم و با صفر شروع کنیم. برای 111 1^2 1^1 1^0 است. بر این اساس، شماره برای یک عدد به عنوان مدرک آن خواهد بود. در مرحله بعد، اقدامات را مطابق فرمول انجام می دهیم: (x * 2^y) + (x * 2^y) + (x * 2^y)، که در آن x عدد ترتیبی کد باینری و y توان است. از این تعداد عدد باینری خود را با این فرمول جایگزین می کنیم و نتیجه را محاسبه می کنیم. دریافت می کنیم: (1 * 2^2) + (1 * 2^1) + (1 * 2^0) = 4 + 2 + 1 = 7.

تاریخچه کمی از سیستم اعداد باینری

به طور کلی پذیرفته شده است که برای اولین بار سیستم دودوییپیشنهاد شده توسط گوتفرید ویلهلم لایبنیتس، که سیستم را در محاسبات پیچیده ریاضی و علوم مفید می دانست. اما طبق برخی داده ها، قبل از پیشنهاد وی برای سیستم اعداد دودویی، یک کتیبه دیواری در چین ظاهر شد که توسط رمزگشایی شد. با استفاده از کد باینری. کتیبه چوب های بلند و کوتاه را نشان می داد. با فرض اینکه چوب بلند 1 و چوب کوتاه 0 باشد، این احتمال وجود دارد که در چین ایده کد باینری مدت ها قبل از کشف رسمی آن وجود داشته باشد. رمزگشایی کد فقط یک عدد طبیعی ساده را در آنجا شناسایی کرد، اما این یک واقعیت است که همچنان وجود دارد.

مجموعه کاراکترهایی که متن با آن نوشته می شود نامیده می شود الفبا.

تعداد کاراکترهای الفبای آن است قدرت.

فرمول تعیین مقدار اطلاعات: N=2b,

که در آن N قدرت الفبا (تعداد کاراکترها) است.

b – تعداد بیت ها (وزن اطلاعات نماد).

الفبای با ظرفیت 256 کاراکتر می تواند تقریباً تمام کاراکترهای لازم را در خود جای دهد. این الفبا نامیده می شود کافی

زیرا 256 = 2 8، سپس وزن 1 کاراکتر 8 بیت است.

واحد اندازه گیری 8 بیت نامگذاری شد 1 بایت:

1 بایت = 8 بیت.

کد باینری هر کاراکتر در متن کامپیوتر 1 بایت حافظه اشغال می کند.

اطلاعات متنی چگونه در حافظه کامپیوتر نمایش داده می شود؟

راحتی رمزگذاری کاراکتر بایت به بایت واضح است زیرا یک بایت کوچکترین بخش آدرس پذیر حافظه است و بنابراین، پردازنده می تواند هنگام پردازش متن به هر کاراکتر جداگانه دسترسی داشته باشد. از سوی دیگر، 256 کاراکتر برای نشان دادن طیف گسترده ای از اطلاعات نمادین، عدد کافی است.

حال این سوال پیش می آید که کدام کد باینری هشت بیتی را به هر کاراکتر اختصاص دهیم.

واضح است که این یک موضوع مشروط است.

تمام کاراکترهای الفبای کامپیوتر از 0 تا 255 شماره گذاری می شوند. هر عدد مربوط به یک کد باینری هشت بیتی از 00000000 تا 11111111 است. این کد به سادگی شماره سریال کاراکتر در سیستم اعداد باینری است.

جدولی که در آن به تمام کاراکترهای الفبای کامپیوتر شماره سریال اختصاص داده می شود، جدول رمزگذاری نامیده می شود.

انواع مختلف کامپیوترها از جداول رمزگذاری متفاوتی استفاده می کنند.

جدول به استاندارد بین المللی رایانه های شخصی تبدیل شده است ASCII(آسکی بخوانید) (کد استاندارد آمریکایی برای تبادل اطلاعات).

جدول کد اسکی به دو بخش تقسیم می شود.

فقط نیمه اول جدول استاندارد بین المللی است، یعنی. نمادها با اعداد از 0 (00000000)، تا 127 (01111111).

ساختار جدول کدگذاری اسکی

شماره سریال

کد

سمبل

0 - 31

00000000 - 00011111

نمادهایی با اعداد از 0 تا 31 معمولاً نمادهای کنترل نامیده می شوند.
عملکرد آنها کنترل فرآیند نمایش متن روی صفحه یا چاپ، به صدا درآوردن سیگنال صوتی، علامت گذاری متن و غیره است.

32 - 127

00100000 - 01111111

قسمت استاندارد جدول (انگلیسی). این شامل حروف کوچک و بزرگ الفبای لاتین، اعداد اعشاری، علائم نگارشی، انواع براکت ها، علامت های تجاری و سایر نمادها است.
کاراکتر 32 یک فضا است، یعنی. جای خالی در متن
بقیه با علائم خاصی منعکس می شوند.

128 - 255

10000000 - 11111111

قسمت جایگزین جدول (روسی).
نیمه دوم جدول کدهای اسکی به نام صفحه کد (128 کد که از 10000000 شروع می شود و به 11111111 ختم می شود) می تواند گزینه های مختلفی داشته باشد، هر گزینه شماره مخصوص به خود را دارد.
صفحه کد در درجه اول برای قرار دادن الفبای ملی به غیر از لاتین استفاده می شود. در رمزگذاری های ملی روسیه، حروف الفبای روسی در این قسمت از جدول قرار می گیرند.

نیمه اول جدول کد اسکی


لطفا توجه داشته باشید که در جدول رمزگذاری حروف (بزرگ و کوچک) به ترتیب حروف الفبا و اعداد به ترتیب صعودی مرتب شده اند. این رعایت نظم واژگانی در چینش نمادها را اصل رمزگذاری ترتیبی الفبا می گویند.

برای حروف الفبای روسی، اصل کدگذاری متوالی نیز رعایت می شود.

نیمه دوم جدول کد اسکی


متأسفانه، در حال حاضر پنج رمزگذاری سیریلیک مختلف (KOI8-R، Windows. MS-DOS، Macintosh و ISO) وجود دارد. به همین دلیل، اغلب با انتقال متن روسی از یک رایانه به رایانه دیگر، از یک سیستم نرم افزاری به سیستم دیگر، مشکلاتی ایجاد می شود.

از نظر زمانی، یکی از اولین استانداردها برای رمزگذاری حروف روسی در رایانه، KOI8 ("کد تبادل اطلاعات، 8 بیت") بود. این رمزگذاری در دهه 70 در رایانه های سری رایانه های ES مورد استفاده قرار گرفت و از اواسط دهه 80 در اولین نسخه های روسی شده سیستم عامل یونیکس مورد استفاده قرار گرفت.

از اوایل دهه 90، زمان تسلط سیستم عامل MS DOS، رمزگذاری CP866 باقی می ماند ("CP" به معنای "صفحه کد"، "صفحه کد" است).

کامپیوترهای اپل که سیستم عامل مک را اجرا می کنند از کدگذاری مک خود استفاده می کنند.

علاوه بر این، سازمان بین المللی استاندارد (ISO) کدگذاری دیگری به نام ISO 8859-5 را به عنوان استاندارد برای زبان روسی تایید کرده است.

رایج ترین رمزگذاری مورد استفاده در حال حاضر مایکروسافت ویندوز است که به اختصار CP1251 نامیده می شود.

از اواخر دهه 90، مشکل استانداردسازی رمزگذاری کاراکترها با معرفی یک استاندارد بین المللی جدید به نام حل شد. یونیکد. این یک رمزگذاری 16 بیتی است، یعنی. برای هر کاراکتر 2 بایت حافظه اختصاص می دهد. البته این مقدار حافظه اشغال شده را 2 برابر افزایش می دهد. اما چنین جدول کدی امکان گنجاندن حداکثر 65536 کاراکتر را فراهم می کند. مشخصات کامل استاندارد یونیکد شامل تمام الفبای موجود، منقرض شده و مصنوعی جهان و همچنین بسیاری از نمادهای ریاضی، موسیقی، شیمیایی و غیره است.

بیایید سعی کنیم از جدول ASCII استفاده کنیم تا تصور کنیم کلمات در حافظه کامپیوتر چگونه به نظر می رسند.

نمایش داخلی کلمات در حافظه کامپیوتر

گاهی اوقات اتفاق می افتد که متنی متشکل از حروف الفبای روسی دریافت شده از رایانه دیگری قابل خواندن نیست - نوعی "آبراکادابرا" روی صفحه نمایشگر قابل مشاهده است. این به این دلیل است که رایانه ها از رمزگذاری کاراکترهای مختلف برای زبان روسی استفاده می کنند.