آموزش کامپیوتر

سيستم هاي عدد نويسي

محاسبات کامپيوتري در مبناي دو انجام مي شود. به طور معمول از سيستم عددي هگزادسيمال براي نمايش اعداد باينري استفاده مي شود.

سيستم هاي عدد نويسي
سيستم عددی اعشاری
سيستم عددی دودوئی
سيستم عددی هگز


سيستم هاي عدد نويسي

در کارهای روزمره از سيستم عددی اعشاری يا مبنای 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 است).


تبديل باينری به اعشاری

مقدار يک عدد باينری بر اساس بيت های 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 هر رقم عدد در ارزش مکانی اش ضرب می شود.


مثال. تبديل عدد 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


تبديل اعشاري به هگز

برای تبديل دسيمال به هگز مانند باينری تقسيم های متوالی بر 16 انجام می شود.


مثال. تبديل عدد 589 به هگز

عدد

خارج قسمت باقيمانده

589 ÷ 16

36
13

36 ÷ 16

2
4

2 ÷ 16

0
2

با قرار دادن باقيمانده های تقسيم از پايين به بالا عدد باينری 24D بدست می آيد.


تبديل هگز به باينری

تبديل هگز به باينری ساده است. کافی است هر رقم هگز به يک عدد چهار رقمی باينری تبديل شود.


مثال. تبديل عدد 160794h به باينری.

Hex: 1 6 0 7 9 4
Binary: 0001 0110 0000 0111 1001 010

توجه کنيد که صفرهای ابتدای چهار بيت اهميت دارند. اگر اين صفرها برای ارقام ميانی قرار نگيرند حاصل اشتباه است.


تبديل باينری به هگز

تبديل از باينری به هگز هم ساده است. ابتدا عدد باينری از راست به چپ به گروه های چهاربيتی تقسيم شده (اگر آخرين گروه سمت چپ کمتر از چهار بيت بود صفر اضافه می شود)، سپس هر بخش به يک رقم هگز تبديل می شود.


مثال. تبديل عدد 101100000011110010100b به هگز

Binary: 0001 0110 0000 0111 1001 0100
Hex : 1 6 0 7 9 4
= 160794h


جمع اعداد در هگزادسيمال

چند جمع ساده در مبنای 16.

7 + 3 = A
6 + 7= D
F + 1 = 10
10 + 30 = 40
F + F = 1E
38 + 18 = 50
FF + 1 = 100

جمع دو عدد هگز

1
1
7
E
C
6
+
3
4
0
A
 
B
2
D
0


6 + A = 6 + 10 = 16 => 10h
C + 0 + 1 = 12 + 0 + 1 = 13 => Dh
E + 4 = 14 + 4 = 18 => 12h
7 + 3 + 1 = 11 => Bh

+ نوشته شده در  هشتم اسفند 1386ساعت 8:8  توسط طاهر  | 

 


طراحی سایت و بهینه سازی سایت توسط : گروه طراحان نگاه تازه