نمایش کسری اعداد باینری از قوانین مشابه حاکم بر اعداد دسیمال پیروی میکند، با این تفاوت که هر رقم باینری از سیستم شماره گذاری بر مبنای 2 استفاده خواهد کرد.
دستگاه اعداد اعشاری یا دسیمال (Decimal) از سیستم شماره گذاری بر مبنای ده (Base-of-10) استفاده میکند، که در آن هر یک از ارقام تشکیل دهنده عدد نهایی، میتواند یکی از ده مقدار ممکن در محدوده 0 تا 9 را اختیار کند. بنابراین با حرکت از سمت راست به چپ در امتداد یک عدد دسیمال، هر رقم دارای ارزش ده برابر بیشتر از رقم به سمت راست خود خواهد بود. به صورت مشابه با حرکت از سمت چپ به راست در امتداد ارقام یک عدد دسیمال، هر رقم ارزشی معادل ده برابر کوچکتر از عدد سمت چپ خود را اختیار میکند.
با ادامه حرکت به سمت راست و رسیدن به عدد صفر (نقطه شروع اعداد اعشاری decimal point (ممیز)) اعداد کسری باینری معرفی خواهند شد.
اعداد کسری معمولی (A Typical Fractional Number)
برای مثال در عدد دسیمال 1234.567 اولین عدد پس از نقطه دسیمال (عدد 5) دارای ارزش یک دهم (0.1) برابری رقم سمت چپ خود (عدد 4 دارای ارزش 1) است. بنابراین با حرکت به سمت راست ارزش هر رقم یک دهم مقدار ارزش رقم سمت چپ خود خواهد بود.
در سیستم شماره گذاری دسیمال با استفاده از یک نماد موقعیتی (نقطه دسیمال) ارزش هر رقم نسبت به موقعیت آن مشخص خواهد شد، به بیان دیگر هر رقم با توجه به موقعیت آن رقم در دو طرف نقطه دسیمال مقدار وزن متفاوتی را اختیار میکند.
در سیستم شماره گذاری استاندارد دهدهی جهت نمایش ارقام سمت چپ نقطه دسیمال، مقادیر به صورت زیر معرفی خواهند شد.
به همین ترتیب، جهت نمایش اعداد کسری در سمت راست نقطه دسیمال، از فرمت زیر پیروی میشود.
بنابراین معرفی یک عدد دسیمال، براساس فرمت فوق، رابطه میان وزن هر رقم و موقعیت آن رقم را نشان میدهد. مقدار هر عدد دسیمال از محاسبه مجموع ارقام آن عدد ضرب در وزن مربوطه حاصل خواهد شد. بنابراین عدد دسیمال 1234.567 به صورت زیر معرفی میشود.
و یا به صورت چند جملهای زیر:
استفاده از مفهوم نماد موقعیتی در سیستم شماره گذاری باینری مفهوم مشابه با اعداد دسیمال خواهد داشت. به این صورت که هر رقم با توجه به موقعیتی که در این سیستم اختیار میکند، دارای ارزش و وزن متفاوتی خواهد بود، با این تفاوت که وزن هر رقم نسبت به ارقام مجاور با ضریب 2 تغییر خواهد کرد.
کسرهای باینری (Binary Fractions)
سیستم شماره گذاری باینری یک سیستم شماره گذاری بر مبنای 2 است، که هر رقم میتواند تنها یکی از دو مقدار ممکن 0 یا 1 را اختیار کند.
مشابه با اعداد کسری دسیمال، اعداد کسری بدون علامت باینری را میتوان با قرار دادن ارقام باینری در سمت راست نقطه باینری (مشابه با نقطه دسیمال در سیستم شماره گذاری دسیمال) معرفی کرد. بنابراین با معرفی ارقام در سمت راست نقطه باینری کسرهای باینری ایجاد میشوند.
بنابراین معادل دسیمال، کسر باینری 0.1011 با توجه به وزن هر یک از ارقام به صورت زیر معرفی خواهد شد.
در این مثال، کسر باینری 0.1011 معادل عدد کسری 0.6875 دسیمال خواهد بود.
مثال 1
معادل دسیمال عدد کسری باینری 1101.0111 به صورت زیر محاسبه خواهد شد.
بنابراین مجموعه اعداد باینری کسری شامل ارقام باینری با وزن کمتر از 1 (0^2) خواهد بود، که مشابه با قوانین حاکم در ریاضیات، هر عدد با توان منفی میتواند به صورت کسری با مخرج توان مثبت معرفی شود.
تبدیل اعداد دسیمال به کسر باینری (Converting Decimal to a Binary Fraction)
در تبدیل اعداد کسری دسیمال به اعداد باینری کسری از روش مشابه با اعداد صحیح استفاده خواهد شد. با این تفاوت که، به جای تقسیمهای متوالی بر 2 جهت مشخص کردن قسمت کسری از روش ضربهای متوالی در 2 استفاده خواهد شد.
بنابراین جهت تبدیل عدد دسیمال کسری به عدد باینری کسری قسمت صحیح عدد به صورت جداگانه و با استفاده از روش تقسیمهای متوالی بر 2 و قسمت کسری (از سمت چپ به راست) با استفاده از روش ضربهای متوالی بر 2 محاسبه خواهند شد.
روش تقسیمهای متوالی بر دو یکی از متداولترین روشها جهت تبدیل قسمت صحیح عدد دسیمال به اعداد باینری است. در این روش عدد دسیمال به صورت متوالی بر دو تقسیم خواهد شد تا زمانی که خارج قسمت برابر صفر شود. از کنار هم قرار دادن تمام باقی ماندهها به ترتیب از آخرین باقی مانده (MSB) به اول (LSB) معادل باینری عدد دسیمال بدست خواهد آمد.
بنابراین معادل باینری عدد صحیح دسیمال 118 به صورت زیر محاسبه خواهد شد.
معادل باینری عدد صحیح 118 برابر با عدد 1110110 است.
معادل باینری بخش کسری عدد دسیمال با استفاده از روش ضرب متوالی بر 2 محاسبه خواهد شد. در این روش عدد دسیمال به صورت متوالی بر دو ضرب خواهد شد تا زمانی که بیت (carry) (بیت موجود در سمت چپ نقطه باینری) برابر صفر شود.
به این ترتیب، زمانی که حاصل فرآیند ضرب بزرگتر از عدد یک باشد، (carry) برابر با یک و اگر حاصل فرآیند ضرب کمتر از یک باشد، (carry) برابر با صفر خواهد بود.
در صورتی که فرآیند ضرب متوالی به سمت صفر میل نکند، عدد کسری دارای طول بینهایت خواهد بود و با توجه به دقت مورد نیاز، تعداد معادل بیتهای بدست آمده به عنوان مثال 8 و یا 16 بیت در نظر گرفته خواهد شد.
بنابراین معادل کسر باینری عدد کسری دسیمال 0.8125 به صورت زیر محاسبه خواهد شد.
معادل باینری عدد کسری 0.8125 برابر با عدد 0.1101 است.
همچنین میتوان پاسخ فوق را با استفاده از روش بالا جهت تبدیل کسر باینری به معادل کسری دسیمال به صورت مجدد بررسی کرد:
مثال 2
معادل کسر باینری عدد کسری دسیمال 54.6875 به صورت زیر محاسبه خواهد شد.
در گام نخست با استفاده از روش تقسیمهای 2، عدد صحیح 54 به عدد باینری تبدیل خواهد شد.
بنابراین معادل باینری عدد صحیح 54 برابر با عدد 110110 است.
سپس عدد دسیمال کسری 0.6875 با استفاده از روش ضرب متوالی در 2 به کسر باینری تبدیل خواهد شد.
معادل باینری عدد کسری 0.6875 برابر با عدد 0.1011 است.
در نهایت با کنار هم قرار دادن دو بخش صحیح و کسری، معادل باینری عدد دسیمال 54.6875 با عدد باینری 0.1011 برابر خواهد بود.
خلاصه
جهت تبدیل هر عدد کسری دسیمال به معادل کسری باینری آن، کافیست پس از محاسبه حاصل ضرب عدد دسیمال در عدد 2، رقم (carry) (رقم موجود در سمت چپ نقطه باینری (ممیز)) یادداشت شود. مقدار رقم (carry) همواره برابر با 0 و یا 1 خواهد بود.
سپس عمل ضرب مجددا برای بخش کسری عدد حاصل از مرحله پیشین تکرار خواهد شد، و این عملیات تا حصول رقم (carry) برابر صفر ادامه خواهد داشت.
اعداد باینری کسری به صورت عدد 2 با توان منفی نمایش داده خواهد شد.
جهت تبدیل اعداد دسیمال دارای بخش کسری و صحیح از دو روش تقسیمهای متوالی و روش ضرب متوالی استفاده خواهد شد. به این ترتیب، جهت تبدیل بخش صحیح دسیمال به عدد باینری از روش تقسیم متوالی و جهت تبدیل بخش کسری از روش ضرب متوالی استفاده میشود.
همچنین بخش صحیح یک عدد دسیمال همواره دارای یک معادل باینری دقیق است، اما قسمت کسری دسیمال ممکن است دارای پاسخ صریح نباشد، زیرا بخش کسری دسیمال، میتواند کسری تکراری را ایجاد کند که منجر به تولید بی نهایت عدد باینری میشود.