تبدیل اعداد اعشاری دسیمال به باینری و بلعکس در پایتون

سیستم اعداد دهدهی یکی از سیستم های متداول است که همگان روزانه با آن سر و کار دارند. در این سیستم هر عدد میتواند ترکیبی از اعداد 0 تا 9 باشد.در سیستم باینری یا همان دودویی مبنای اعداد 2 است.لذا هر عدد در این سیستم میتواند ترکیبی از ارقام 0 و 1 باشد ، مانند 111،1011 و 100010010 .

تیم پای سافت در این مقاله برای شما سورس کد تبدیل مبنای اعداد اعشاری دسیمال به باینری  و بلعکس را  به زبان پایتون اماده نموده است

قانون کلی تبدیل اعداد دهدهی به مبناهای دیگر

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

نکته :به طور کلی در مبنای n فقط ارقام صفر تا n-1 را داریم.

نکته: هتگامی که عدد از مبنای کوچک به مبنای بزرگتر می رود  ظاهر آن کوچک تر میشود و بالعکس .

 پایتون تبدیل مبنای اعداد اعشاری

قانون کلی تبدیل اعداد مبنای دلخواه به مبنای ده

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

تبدیل اعداد دهدهی صحیح به دودویی و بالعکس

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

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

تبدیل مبنا اعداد اعشاری

مثال :

تبدیل عدد 2(11001) به مبنای ده :

(11001)2 = 1 × 20 + 0 × 21 + 0 × 22 + 1 × 23 + 1 × 24
= 1 + 0 + 0 + 8 + 16
= 25
(11001)2 = (25)10

مثال :

تبدیل عدد 10(25) به مبنای دو

25 ÷ 2 = 12          r1 = 1
12 ÷ 2 = 6           r2 = 0
6 ÷ 2 = 3            r3 = 0
3 ÷ 2 = 1            r4 = 1
1 ÷ 2 = 0            r5 = 1

حالا از آخرین باقیمانده شروع به نوشتن تا اولین باقیمانده می کنیم :

(25)10 = (11001)2

تبدیل مبنای اعداد اعشاری دهدهی به دودویی

تبدیل اعداد اعشاری دهدهی به دودویی و بالعکس

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

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

برای تبدیل قسمت اعشاری ، از روش ضرب متوالی در 2 استفاده می گردد . در این روش ضرب متوالی در 2 قسمت اعشاری در 2 ضرب شده سپس قسمت صحیح عدد حاصله را بعنوان اولین رقم بعد از ممیز در مبنای دو در نظر می گیریم .بخش اعشاری عدد حاصله را دوباره ضرب در 2 می کنیم و قسمت صحیح عدد حاصله را به عنوان رقم دوم بعد از ممیز در مبنای دو در نظر می گیریم. این عملیات را انقدر ادامه می دهیم تا قسمت اعشاری صفر شود یا هشت بار ضرب در 2 (هشت بیت اعشار) می کنیم تا به دقت مورد نظر برسیم،  عدد حاصل ، تبدیل مبنای 2 قسمت اعشاری است.با تلفیق قسمت اعشاری و قسمت صحیح ، عدد به طور کامل به مبنای 2 تبدیل می شود.

برای تبدیل اعداد مبنای دو به ده باید قسمت صحیح را به همان روش گفته شده در بالا به مبنای ده برد و برای قسمت اعشاری باید از اولین عدد بعد از ممیز شروع کرده و آن را در  1-2 ضرب کرده و همین طور به توانهای منفی اضافه می کنیم تا به آخرین عدد یا همان اولین عدد از سمت راست برسیم.

اگر با ضرب متوالی، قسمت اعشاری به صفر نرسد، باید عمل ضرب را تا پر شدن حافظه(هشت بیت)ادامه داد.

مثال :

تبدیل عدد 2(1110.01)به مبنای ده

ابتدا سمت صحیح را از همان روش بالا از مبنای 2 به مبنای 10 می بریم :

(1110) = 0 × 20 + 1 × 22 + 1 × 23
= 0 + 2 + 4 + 8
= 14

حالا برای قسمت اعشاری باید از اولین عدد بعد از ممیز شروع کرده و آن را در 1-2  ضرب کرده و همین طور به توانهای منفی اضافه می کنیم تا به آخرین عدد یا همان اولین عدد از سمت راست برسیم :

(0.01) =  0 × 2-1 + 1 × 2-2
= 0 + 0.25
= 0.25

حالا با تلفیق قسمت اعشاری و صحیح عدد مبنای 10 حاصل می شود.

(1110.01)2 = (14.25)10

مثال :

تبدیل عدد 10(12.25) به مبنای دو

ابتدا قسمت صحیح را به مبنای 2 می بریم :

12 ÷ 2 = 6         r1=0
6 ÷ 2 = 3          r2=0
3 ÷ 2 = 1          r3=1
1 ÷ 2 = 0          r4=1 
(12)10 = (1100)2

 

حالا نوبت به قسمت اعشاری می رسید که باید آن را برای دفعات محدودی در 2 ضرب کنیم و قسمت های صحیح را کنار آن می نویسیم :

0.25 × 2 = 0.5         0
0.5 × 2 = 1.0          1

با توجه به اینکه قسمت اعشاری صفر شد دیگر به ضرب ادامه نمی دهیم و قسمت اعشاری را در مبنای دو تشکیل می دهیم :

با تلفیق قسمت های صحیح و اعشاری ، مبنای 2 عدد 12.25 حاصل می شود :

(0.25)10 = (0.01)2
شما میتوانید سورس کد برنامه تبدیل مبنای اعداد اعشاری دهدهی به دودویی و بلعکس را به زبان پایتون از پای سافت خریداری بنمایید

  قیمت توافقی  

برای اطلاعات بیشتر و خرید لطفا به آیدی زیر در تلگرام پیام دهید

@Khorammfar

شماره تماس : 09374851282