_ دانشگاه كردستان دانشكدة فني و مهندس ي گروه كامپيوتر مباني كامپيوتر و برنامه سازي Basics of Computer and Programming Session 2 اشنايي با سيستم اعداد BY: Ghasem.

Download Report

Transcript _ دانشگاه كردستان دانشكدة فني و مهندس ي گروه كامپيوتر مباني كامپيوتر و برنامه سازي Basics of Computer and Programming Session 2 اشنايي با سيستم اعداد BY: Ghasem.

‫_‬
‫دانشگاه كردستان‬
‫دانشكدة فني و مهندس ي‬
‫گروه كامپيوتر‬
‫مباني كامپيوتر و برنامه سازي‬
‫‪Basics of Computer and Programming‬‬
‫‪Session 2‬‬
‫اشنايي با سيستم اعداد‬
‫‪BY: Ghasem Mohammadi‬‬
‫مرور سیستم دهدهی‬
‫‪‬‬
‫‪ ‬پایه ‪ 10‬است و ارقام ‪ 9 ... ،1 ،0‬مي باشند‪.‬‬
‫‪ ‬برای اعداد بزرگتر از ‪ ،9‬یک رقم با اهمیت تر به سمت چپ اضافه‬
‫کنید‪ .‬مثال‪9>19 :‬‬
‫‪ ‬هر محل دارای یک وزن است‪:‬‬
‫‪LSD‬‬
‫‪‬‬
‫‪103 102 101 100 101102 103‬‬
‫‪MSD‬‬
‫‪Weights:‬‬
‫به عنوان مثال عدد ‪ 1936.25‬را می توان به صورت زیر نمایش داد‪:‬‬
‫‪1103  9 102  3 101  6 100  2 101  5 102‬‬
‫‪2‬‬
‫سیستم عدد نویس ی دودویی‬
‫‪ ‬پایه ‪ 2‬است و ارقام ‪1 ،0‬هستند‪.‬‬
‫‪ ‬برای اعداد بزرگتر از ‪ ،1‬یک رقم با اهمیت تر به سمت چپ اضافه‬
‫کنید‪ .‬مثال‪1>10 :‬‬
‫‪ ‬هر محل دارای یک وزن است‪:‬‬
‫‪MSD‬‬
‫‪1  2‬‬
‫‪3‬‬
‫‪Weights: 23 2 2 21 20‬‬
‫‪LSD‬‬
‫‪2‬‬
‫‪2‬‬
‫‪2‬‬
‫‪‬‬
‫‪3‬‬
‫به عنوان مثال عدد ‪ 10111.01‬را می توان به صورت زیر محاسبه کرد‪:‬‬
‫‪1 24  0  23  1 22  1 21  1 20  0  21  1 22 ‬‬
‫‪ 116  0  8  1 4  1 2  11  0  0.5  1 0.25  23.25‬‬
‫مبنای دو (باینری)‬
‫‪4‬‬
‫سیستم عدد نویسی دودویی‬
‫‪(110000.0111)2 = ( ? )10 ‬‬
‫‪‬‬
‫جواب‪48.4375 :‬‬
‫در دنیای کامپیوتر‪:‬‬
‫‪ 1024=210 ‬با ‪( K‬کیلو) نشان داده می شود‪.‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪5‬‬
‫‪ 1048576=220‬با ‪( M‬مگا) نشان داده می شود‪.‬‬
‫‪( G =230‬گیگا)‬
‫‪( T = 240‬تترا)‬
‫چه تعداد بیت در یک حافظه ‪ 16GByte‬وجود دارد؟‬
‫مبناهای ‪ 8‬و ‪16‬‬
‫‪ ‬مبنای ‪8‬‬
‫– پایه ‪ 8‬است و رقمها ‪ 0, 1, 2, 3, 4, 5, 6, 7‬هستند‬
‫‪ (236.4)8 = (158.5)10‬‬
‫‪2  82  3  81  6  80  4  81  158.5‬‬
‫‪ ‬مبنای ‪16‬‬
‫–‬
‫پایه ‪ 16‬است و رقمهای ‪ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9‬از سیستم دهدیی‬
‫قرض گرفته شده اند و از ‪ A, B, C, D, E, F‬به ترتیب برای نمایش‬
‫رقمهای ‪ 15 ،14 ،13 ،12 ،11 ،10‬استفاده می گردد‪.‬‬
‫‪ (D63FA)16 = (877562)10‬‬
‫‪6‬‬
‫‪13164  6 163  3 162  15161  10160  877562‬‬
‫تبدیل از دهدهی به دودویی‬
‫تبدیل اعداد اعشاری‪:‬‬
‫‪‬‬
‫معادل دودویی ‪ (0.8542)10‬را تا شش رقم دقت پیدا کنید‪.‬‬
‫‪0.7084‬‬
‫‪0.4168‬‬
‫‪0.8336‬‬
‫‪0.6672‬‬
‫‪0.3344‬‬
‫‪0.6688‬‬
‫‪a-1 = 1‬‬
‫‪a-2 = 1‬‬
‫‪a-3 = 0‬‬
‫‪a-4 = 1‬‬
‫‪a-5 = 1‬‬
‫‪a-6 = 0‬‬
‫‪+‬‬
‫‪+‬‬
‫‪+‬‬
‫‪+‬‬
‫‪+‬‬
‫‪+‬‬
‫‪1‬‬
‫‪1‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬
‫‪0‬‬
‫= ‪0.8542 x 2‬‬
‫= ‪0.7084 x 2‬‬
‫= ‪0.4168 x 2‬‬
‫= ‪0.8336 x 2‬‬
‫= ‪0.6672 x 2‬‬
‫= ‪0.3344 x 2‬‬
‫‪(0.8542)10  (0.a1a2a3a4a5a6 )2  (0.110110)2‬‬
‫‪)2‬‬
‫‪7‬‬
‫?‬
‫( = ‪(53.8542)10‬‬
‫تبدیل از مبنای ده به مبنای دو‬
‫‪8‬‬
‫جمع دودویی‬
‫‪9‬‬
‫مکمل گیری‬
‫اعداد دهدهی‬
‫مکمل ‪ 9‬و مکمل ‪10‬‬
‫مکمل ‪ 1‬و مکمل ‪2‬‬
‫اعداد باینری‬
‫•مکمل ‪ 9‬عدد دهدهی ‪ N‬برابر است با‪(10n-1) – N :‬‬
‫•مکمل ‪ 10‬عدد دهدهی ‪ N‬برابر است با‪10n – N :‬‬
‫•مکمل ‪ 1‬عدد باینری ‪ N‬برابر است با‪(2n-1) – N :‬‬
‫•مکمل ‪ 2‬عدد باینری ‪ N‬برابر است با‪2n – N :‬‬
‫‪‬‬
‫در کامپیوترهای دیجیتالی از تکنیک مکمل گیری برای انجام عمل تفریق استفاده‬
‫می کنند‪.‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪10‬‬
‫برای پیدا کردن مکمل ‪ 1‬یک عدد باینری تمام ‪ 0‬ها را یک و تمام ‪ 1‬ها را به ‪ 0‬تبدیل کنید‪.‬‬
‫برای پیدا کردن مکمل ‪ ، 2‬مکمل ‪ 1‬را ‪ 1‬جمع کنید‪.‬‬
‫یک راه دیگر این است که اولین ‪ 1‬را از سمت راست پیدا کرده و تمام ارقام بعد از آن را‬
‫معکوس کنید‪.‬‬
‫مکمل‬
‫‪‬مکمل ‪ 9‬عدد ‪: 12345‬‬
‫‪(105 – 1) – 12345 = 87654‬‬
‫‪‬مکمل ‪ 9‬عدد ‪(106 – 1) – 012345 = 987654 : 012345‬‬
‫‪‬مکمل ‪ 10‬عدد ‪: 739821‬‬
‫‪106– 739821 = 260179‬‬
‫‪‬مکمل ‪ 10‬عدد ‪104 – 2500 = 7500 : 2500‬‬
‫‪‬مکمل ‪ 9‬و ‪ 10‬عدد ‪ 00000000‬را پیدا کنید‪:‬‬
‫‪: 99999999 and 00000000‬جواب‬
‫‪11‬‬
‫مکمل ‪ 1‬و مکمل ‪2‬‬
‫‪ ‬مکمل ‪ 1‬عدد ‪ 1101011‬برابر است با ‪0010100‬‬
‫‪ ‬مکمل ‪ 2‬عدد ‪ 0110111‬برابر است با ‪1001001‬‬
‫‪ ‬مکمل ‪ 1‬و ‪ 2‬عدد ‪ 10000000‬را پیدا کنید‪:‬‬
‫جواب‪ 01111111 :‬و ‪10000000‬‬
‫‪12‬‬
‫استفاده از مکمل گیری برای تفریق‬
‫‪ ‬تفریق دو عدد ‪ n‬رقمی و بدون عالمت (‪ )M-N‬در مبنای ‪r‬‬
‫‪ M ‬را با مکمل ‪ r‬عدد ‪ N‬جمع کنید‪M + (rn – N) :‬‬
‫‪ ‬اگر ‪ M≥N‬نتیجه جمع دارای رقم نقلی خواهد بود که از آن‬
‫صرفنظر می کنیم‪.‬‬
‫‪ ‬اگر ‪ M≤N‬نتیجه جمع دارای رقم نقلی نخواهد بود و نتیجه‬
‫منفی است‪ .‬لذا عدد را دوباره به فرم ممکل دو تبدیل کنید تا‬
‫متوجه شوید که نتیجه حاصله منفی چه عددی است‪.‬‬
‫‪13‬‬
‫استفاده از مکمل گیری برای تفریق‬
10 ‫ با استفاده از مکمل‬150 – 2100 ‫ انجام تفریق‬
M=
Sum =
150
7900 = N 10 ‫مکمل‬
8050
There’s no end carry  negative
Answer: – (10’s complement of 8050) = – 1950
10 ‫ با استفاده از مکمل‬7188 – 3049 ‫ انجام تفریق‬
M=
7188
10’s complement of N = + 6951
Sum = 14139
Discard end carry 104 = – 10000
Answer =
4139
14
‫انجام عمل تفریق توسط مکمل ‪2‬‬
‫‪=75-20 ‬؟‬
‫‪01001011=75 ‬‬
‫‪00010100=20 ‬‬
‫‪ ‬مکمل دو ‪11101100 :20‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪01001011‬‬
‫‪11101100 +‬‬
‫‪1 00110111‬‬
‫‪ ‬چون رقم نقلی داریم آنرا حذف می کنیم‪.‬‬
‫‪ ‬نتیجه برابر (‪ )00110111‬یا ‪ 55‬خواهد بود‪.‬‬
‫‪15‬‬
‫تفریق با استفاده از مکمل ‪2‬‬
‫‪=20-75 ‬؟‬
‫‪01001011=75 ‬‬
‫‪00010100=20 ‬‬
‫‪ ‬مکمل دو ‪10110101 :75‬‬
‫‪10110101‬‬
‫‪00010100 +‬‬
‫‪11001001‬‬
‫‪ ‬چون رقم نقلی نداریم نتیجه برابر منهای مکمل دو رقم فوق‬
‫خواهد بود یعنی (‪ -)00110111‬یا ‪-55‬‬
‫‪16‬‬