سیستم های عدد نویسی
صفحه بعد صفحه قبل
محاسبات کامپیوتری در مبنای دو انجام می شود. به طور معمول از سیستم عددی هگزادسیمال برای نمایش اعداد باینری استفاده می شود.
سیستم های عدد نویسی
سیستم عددی اعشاری
سیستم عددی دودوئی
سیستم عددی هگز
سیستم های عدد نویسی
در کارهای روزمره از سیستم عددی اعشاری یا مبنای 10 استفاده می شود. این سیستم برای کامپیوتر مناسب نیست و برای سادگی سخت افزار، کلیه اطلاعات به شکل بیت های روشن و خاموش رمز می شوند. بنابراین سیستم عددی باینری که تنها شامل ارقام صفر و یک است برای این منظور بسیار مناسب است. عدد 1 (on) مشخص کننده +5 ولت و عدد صفر (off) مشخص کننده 0.5 ولت است.
برای تعیین مبنای عدد یک حرف کوچک در انتهای آن قرار می گیرد. مثاال 45h به معنی عدد 45 در مبنای شانزده است. و 11010011b یعنی این عدد در مبنای 2 است. این روشی است که اسمبلر اعداد را در برنامه های اسمبلی تشخیص می دهد.
سیستم عددی اعشاری (Decimal)
اعداد اعشاری یا مبنای 10 از 10 رقم (0 تا 9) تشکیل شده اند. هر رقم به توانی از 10 مرتبط است که نشان دهنده ارزش مکانی رقم در عدد است.
234 = 2 × 102 + 3 × 101 + 4 × 100
= 200 + 30 + 4
سیستم عددی دودوئی (binary)
سیستم باینری بر اساس تنها دو وضعیت است: روشن (1) یا خاموش (0)، بنابراین درمبنای 2 است. یک رقم باینری یک بیت نامیده می شود (در واقع کلمه Bit مخفف Binary Digit است).
جدول توان های 2
جدول نمایش اعداد 0 تا 15 در مبنای دو
تبدیل باینری به اعشاری
مقدار یک عدد باینری بر اساس بیت های 1 و ارزش مکانی آنها بدست می آید. ارزش مکانی هر بیت توانی از 2 است. برای محاسبه مقدار اعشاری یک عدد باینری، کافی است هر رقم از راست به چپ در ارزش مکانی اش ضرب شده سپس کلیه اعداد با هم جمع شوند.
مثال 1. تبدیل عدد 11001b به مبنای 10.
Binary: 11001
Decimal: 1 × 2^4 + 1 × 2^3 + 0 × 2^2 + 0 × 2^1 + 1 × 2^0
= 16 + 8 + 0 + 0 + 1
= 25
مثال 2. تبدیل عدد باینری 10010000 به مبنای 10.
Binary: 1 0 0 1 0 0 0 0
Decimal: 1×2^7 + 0×2^6 + 0×2^5 + 1×2^4 + 0×2^3 + 0×2^2 + 0×2^1 + 0×2^0
=128 + 0 + 0 + 16 + 0 + 0 + 0 + 0
=144
کاراکتر ^ نشان دهنده عمل توان است.
تبدیل اعشاری به باینری
چندین روش برای تبدیل اعداد اعشاری به باینری وجود دارد. یک روش متداول تقسیم های متوالی بر 2 است. به این ترتیب که عدد اعشاری بر 2 تقسیم می شود، باقیمانده بعنوان رقم باینری نگهداشته و خارج قسمت مجدد بر 2 تقسیم می شود این عمل تا زمانی که خارج قسمت صفر شود ادامه پیدا می کند.
مثال. تبدیل عدد 43 به مبنای 2
عدد
خارج قسمت
باقیمانده
43 ÷ 2
21
1
21 ÷ 2
10
1
10 ÷ 2
5
0
5 ÷ 2
2
1
2 ÷ 2
1
0
1 ÷ 2
0
1
با قرار دادن باقیمانده های تقسیم از پایین به بالا عدد باینری 101011 بدست می آید.
جمع اعداد باینری
جمع باینری ساده به صورت زیر محاسبه می شود:
0 + 0 = 0
0 + 1 = 1
1 + 1 = 10
1 + 1 + 1 = 11
برای جمع و عدد باینری کافی است بیت به بیت از سمت راست به چپ عمل جمع انجام شود. رقم نقلی حاصل از هر ستون در جمع ستون بعدی اعمال می شود.
1
1
1
1
0
1
1
+
0
0
0
0
1
1
1
1
0
0
سیستم عددی هگز (Hexadecimal)
هگزادسیمال (یا به طور خلاصه هگز) روش فشرده تری را برای نمایش اعداد باینری ارائه می دهد به همین دلیل توسط اسمبلر و دیباگر برای مختصر نوشتن اعداد باینری بکار می رود.
اعداد هگز مبنای 16 را استفاده می کنند و از 16 رقم (0-15) تشکیل شده اند. برای نمایش ارقام بعد از 9 از حروف A تا F استفاده می شود. به عبارت دیگر 16 رقم هگز شامل 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F است که حروف A-F ارقام 10-15 را نشان می دهند (A=10، B=11، C=12، D=13، E=14 وF=15).
هر رقم هگز معادل چهار بیت باینری است. یک عدد چهار بیتی یک نیبل (Nibble) نام دارد. پس هر رقم هگز معادل یک نیبل است. دو نیبل یک بایت (Byte) را می سازد بنابراین هر بایت می تواند دو رقم هگز را نشان بدهد. مقدار یک بایت می تواند از 00000000 تا 11111111 باینری، 00 تا FF در هگز و 0 تا 255 در دسیمال باشد.
تبدیل هگز به اعشاری
ارزش هر رقم هگز با توانی از 16 مشخص می شود. برای تبدیل اعداد از مبنای 16 به 10 هر رقم عدد در ارزش مکانی اش ضرب می شود.
جدول توان های 16 در مبنای 10
جدول اعداد 0 تا 15 به صورت باینری و هگز
مثال. تبدیل عدد 3BA4h به مبنای 10.
Hex : 3BA4
Decimal: 3×16^3 + 11×16^2 + 10×16^1 + 4× 16^0
= 3×4096 + 11×256 + 10×16 + 4×1
= 15268