
نمایش دادن اعداد، حروف و کلمات به وسیله مجموعه ای از علائم را کد کردن و مجموعه علائم را کد می نامند.
همانطور که میدانید تمام بخش های داخلی یک سیستم دیجیتال با اعداد دودوئی کار میکنند، در نتیجه برای برقراری ارتباط بین این مجموعه و دنیای بیرون که در آن از اعداد دهدهی، حروف، کلمات و علائم برای مبادله اطلاعات استفاده میشود باید به روشی اصولی تبدیل اطلاعات انجام پذیرد.
در کدهای عددی تمام اعداد دهدهی با مجموعه ای از بیت های دودوئی نمایش داده میشوند که هر یک دارای ویژگی های خاص خود هستند.
در ادامه سه مورد از شناخته شده ترین کدهای عددی را بررسی خواهیم کرد.
1- کد BCD
کلمه BCD مخفف عبارت Binary-Coded Decimal (اعداد دهدهی کد شده به دودوئی) است.
در این کد هر یک از 10 نماد دهدهی به وسیله چهار بیت دودوئی نشان داده میشوند. در برخی از کدهای BCD هر بیت دارای وزن معینی است و به همین دلیل آنها را کد وزن دار هم می نامند.
به بیان دیگر اگر چهار بیت یک کلمه کد را به صورت b3 b2 b1 b0 و وزن هر یک از این بیت ها را به ترتیب معادل w3 w2 w1 w0 در نظر بگیریم؛ در آن صورت هر رقم عدد دهدهی N با رابطه زیر محاسبه میشود.
N = w3 * b3 + w2 * b2 + w1 * b1 + w0 * b0
متداولترین کد BCD وزن دار، کد با وزن های 8421 است. همچنین وزن های 2421 و 5421 و 7536 نیز از وزن هایی هستند که در سیستم های دیجیتال مورد استفاده قرار میگیرند.
اگرچه کد 8421 متداولترین کد BCD وزن دار است (بیشتر موارد عنوان کد BCD به همین وزن اطلاق میشود)، اما کدهای 2421 و 7536 دارای ویژگی خاصی به نام خود متمم ساز هستند که در کد 8421 وجود ندارد.
منظور از کد BCD خود متمم ساز این است که متمم یکی (1) اعداد دودوئی با متمم نهی (9) اعداد دهدهی برابر است.
به عنوان مثال، متمم نهی عدد 7 عدد 2 است و در کد 2421 متمم یکی عدد 1101 عدد 0010 و در کد 7536 متمم یکی عدد 1000 عدد 0111 است.
با توجه به این ویژگی خاص، استفاده از این کدها در سیستم های دیجیتالی برای انجام عمل تفریق بسیار مناسب تر است.
البته یکی دیگر از ویژگی کد 7536 داشتن وزن منفی است. وجود خط بالای عدد 6 بدین معنی است که وزن اولین رقم از سمت چپ منفی است (6-)
کدهای توصیف شده فوق هر کدام دارای 4 بیت بودند، اما یک نوع دیگر از کد BCD وزن دار، کد بایکویناری (Biquinary) متشکل از 7 بیت با وزن های 5043210 است. Biquinary به معنی دوپنجی (به صورت عددی بخوانید یعنی 2 و 5) است.
در کد Biquinary هر کلمه کد دارای دو عدد 1 است که یکی از این 1ها در دو بیت سمت چپ و دیگری در پنج بیت سمت راست قرار دارد.
علاوه بر این توجه داشته باشید که 1 موجود در سمت راست به ازاء هر رقم دهدهی یک بیت به سمت چپ منتقل میشود و دو بیت سمت چپ برای پنج عدد دهدهی اول 01 و برای پنج عدد دوم 10 است.
جهت درک بهتر این موارد به کدهای جدول زیر توجه کنید.
Decimal 8421 2421 5421 7536- 50 43210 0 0000 0000 0000 0000 01 00001 1 0001 0001 0001 1001 01 00010 2 0010 0010 0010 0111 01 00100 3 0011 0011 0011 0010 01 01000 4 0100 0100 0100 1011 01 10000 5 0101 1011 1000 0100 10 00001 6 0110 1100 1001 1101 10 00010 7 0111 1101 1010 1000 10 00100 8 1000 1110 1011 0110 10 01000 9 1001 1111 1100 1111 10 10000
یکی از ویژگی های عمومی کدهای BCD آن است که برای تبدیل اعداد دهدهی بزرگتر از 9 به کد BCD ، هر رقم را به طور مستقل به معادل BCD آن تبدیل خواهیم کرد. به مثال زیر توجه کنید.
297 = 0010 1001 0111
البته توجه داشته باشید که معادل دودوئی عدد 297 معادل 100101001 خواهد بود.
یکی دیگر از ویژگی های کد BCD امکان انجام عملیات جمع با استفاده از همین کدهاست. به جمع صورت گرفته در زیر که با کد وزن دار 8421 انجام شده توجه کنید.
52 + 0101 0010 24 = 0010 0100 76 0111 0110
لازم به ذکر است که اگر حاصل جمع دو رقم بزرگتر از 9 باشد، جواب به دست آمده در ابتدای امر صحیح نبوده و برای اصلاح آن باید به هر حاصل جمعی که مقدار آن بیشتر از 9 است معادل دودوئی عدد 6 اضافه شود.
2- کد سه افزا (Excess-3 Code)
علاوه بر کدهای BCD وزن دار، گروهی از این کدها فاقد وزن مشخص بوده و لذا آنها را کد BCD بدون وزن می نامند.
متداولترین BCD بدون وزن کد سه افزار است. این کد با اضافه کردن عدد 3 دهدهی (معدل 0011 دودوئی) به کد BCD وزن دار 8421 به دست می آید.
لازم به ذکر است کد سه افزا همانند کد 2421 یک کد خود متمم ساز است.
0 0011 1 0100 2 0101 3 0110 4 0111 5 1000 6 1001 7 1010 8 1011 9 1100
3- کد گری (Gray Code)
مزیت کد گری بر یک رشته سر راست اعداد دودوئی این است که کد هر مقدار با کد مقدار بعدی تنها در یک بیت تفاوت دارد.
مثلاً برای رفتن از عدد 8 به 9، کد گری از 1100 به 1101 تغییر میکند.
کد گری چهار بیتی را میتوانید در زیر مشاهده کنید.
0 = 0000 4 = 0110 8 = 1100 12 = 1010 1 = 0001 5 = 0111 9 = 1101 13 = 1011 2 = 0011 6 = 0101 10 = 1111 14 = 1001 3 = 0010 7 = 0100 11 = 1110 15 = 1000
یکی از کاربردهای کد گری استفاده از آن در سیستم های الکترومکانیکی برای کد کردن موقعیت یک محور گردان است.
در این روش، سطح مقطع محور گردان به قطاع های مساوری تقسیم شده و به هر قطاع عددی نسبت داده میشود.
اگر به قطاع های مجاور یک رشته کد گری نسبت داده شود در آن صورت هنگام عبور هر قطاع از مقابل چشم های حس کننده موقعیت، هیچ گونه ابهامی ایجاد نخواهد شد.
ساختار نمایش یک محور گردان با کد گری را در تصویر زیر میبینید.
این آموزش برای همیشه رایگانه! میتونید با اشتراکگذاری لینک این صفحه از ما حمایت کنید یا با خرید یه فنجون نوشیدنی بهمون انرژی بدید!
میخوام یه نوشیدنی مهمونتون کنم
سلام وقتتون بخیر میشه در رابطه با کد های غیر عددی هم اطلاعات قرار بدید
سلام
میشه منظورتون از کدهای غیر عددی رو کمی توضیح بدید یا مثالی ازشون بزنید؟
سلام میشه کد گری ۵ رو بگید ؟
سلام
در بخش کدهای گری همین آموزش معادل اعداد 0 تا 15 رو نوشتیم براتون…
سلام من ی کد دریافت کردم ۱۱۲۱۷۱۱۱ معنیش چی میتونه باشه
سلام
هر سیستم کدگذاریای یکسری قوانین برای رمزنگاری و رمزگشایی داره. بدون این قوانین تقریباً هیچ برداشت مشخصی نمیشه داشت!
سلام بنظرتون این عدد 88585 میتونه یک کد یا رمز باشه؟
سلام
ممکنه! بستگی به سیستم کدگذاری که دارید داره.
Bcd مفهومش چیست؟ توضیح دهید
همونطور که در این آموزش هم توضیح داده شده، BCD یک کدگذاری وزرن داره که وزنهای مختلفی داره.
سلام. کد NBCD چه فرقی با BCD داره؟
سلام
متأسفانه نمیدونیم NBCD چی هست! میدونید N اولش مخفف چیه؟!
سلام همونه یه natural گذاشتن اول اسمش فقط.
سلام عدد 573 در یک سیستم کد گذاری ناشناخته باخاصیت خود مکملی 1011 0110 1111 می باشد عدد 642 در این سیستم چند میشود؟
سلام
ابتدا باید نحوه کدگذاری عددی سیستمتون رو پیدا کنید و بعد عدد رو تبدیل کنید. در آموزش تبدیل مبنای عدد دودویی روش تبدیل مبناها توضیح داده شده که ممکنه برای حل بهتر بهتون ایده بده.
اگر بخواهیم عدد ۳۶ رو به صورت کد۴ بیتی با وزن های ۵،۴،۲،۱ بنویسیم جوابش چی میشه؟؟؟
اگر کدتون رو دودویی فرض کنیم، عدد ۴ بیتی با وزنهایی که گفتید حداکثر 12 رو نمایش میده! مگر اینکه شرط خاص دیگری برای نمایش عدد بزرگتر داشته باشید.
سلام میشه گری عدد 50 رو لطف کنید
سلام
میتونید طبق روش محاسبه کد گری این مقدار رو حساب کنید. با این حال جوابتون میشه
101011
.آقای رجایی من میتونم با شما در ارتباط باشم برای توضیح و بحث درمورد کد های گری و نظیرش اگر میشه پی وی تون رو در تلگرام بدهید سپاس گزارم..
اگر سوال در مورد آموزشها دارید در همین دیدگاهها بپرسید که سریعتر بررسی بشه. اگر سوال نامرتبط هست از قسمت تماس با ما بفرستید تا در حدی که بتونیم راهنماییتون کنیم.
سلام میشه کد گری عدد ۲۰ رو بگید..؟
سلام
کد گری 20 معادل
11110
هست.دمتون گرم
سوال استادم بوده
اثبات 9 بودن حاصل جمع ضرایب وزنی در کد های خودمکمل
حقیقتاً اثبات خاصی در حال حاضر به ذهنم نمیرسه!
برای اینکه سرنخی داده باشم، برای نمونه، کد سهافزا یک کد خودمکمل (یا خودمتمم) هست.
اعداد 0 تا 9 رو در این کدگذاری عددی نگاه کنید. اعداد قرینه هم هستند. یعنی مثلاً عدد 1 معادل
0100
و عدد 8 معادل1011
هست.مکمل عدد دودویی یعنی اینکه تمام 0ها 1 و تمام 1ها 0 بشن. پس مجموع 1 و مکملش (8) معادل 9 میشه و این قضیه برای بقیه اعداد هم صدق میکنه.
موفق باشید.
سلام..اثبات اینکه در کد های خود مکمل جمع ضرایب وزنی برابر ۹ است چیه؟
سلام
متأسفانه سؤالتون رو بهخوبی متوجه نشدم! امکانش هست یکم توضیح بدید و حتی مثال بزنید تا بتونم راهنماییتون کنم ؟
سلام
بنظرم BCD که نوشتید میشه اعداد دهدهی کد شده به دودویی شما نوشتید اعشاری.
بله؛ دقیقاً
اشتباه اصلاح شد.
ممنون بابت دقت و اطلاعتون