عکس پیش‌فرض نوشته

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

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

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

 

در کدهای عددی تمام اعداد دهدهی با مجموعه ای از بیت های دودوئی نمایش داده میشوند که هر یک دارای ویژگی های خاص خود هستند.

در ادامه سه مورد از شناخته شده ترین کدهای عددی را بررسی خواهیم کرد.

 

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

 

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

در این روش، سطح مقطع محور گردان به قطاع های مساوری تقسیم شده و به هر قطاع عددی نسبت داده میشود.

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

ساختار نمایش یک محور گردان با کد گری را در تصویر زیر میبینید.

محور گردان با کد گری