C میں اعشاریہ کو بائنری میں کیسے تبدیل کریں۔

C My A Shary Kw Baynry My Kys Tbdyl Kry



کمپیوٹر سسٹم اکثر اعداد و شمار اور ہدایات کی نمائندگی کرنے کے لیے بائنری نمبرز کا استعمال کرتے ہیں، لیکن چونکہ اعشاریہ ہندسوں کو بائنری سے سمجھنا لوگوں کے لیے آسان ہے، اس لیے تبادلوں کی ضرورت ہے۔ یہ مضمون اعشاریہ کو بائنری میں سمجھے گا اور پروگرامنگ کی زبان میں اعشاریوں کو بائنری میں تبدیل کرنے والے مختلف طریقوں کی مثالیں فراہم کرے گا جسے C کہا جاتا ہے۔

C میں اعشاریہ کو بائنری میں کیسے تبدیل کیا جائے؟

دی گئی اعشاریہ قدر کو 2 سے کئی بار تقسیم کیا جاتا ہے، بقیہ کو اس وقت تک ریکارڈ کیا جاتا ہے جب تک کہ ہم 0 کو حتمی حصہ کے طور پر حاصل نہ کر لیں۔ یہ عمل عدد کو اعشاریہ سے بائنری میں تبدیل کرنے کے لیے استعمال ہوتا ہے۔ فارمولہ جو اعشاریہ سے بائنری میں تبادلوں کے عمل کو ظاہر کرتا ہے اسے وہ مراحل سمجھا جاتا ہے جو درج ذیل ہیں:







مرحلہ نمبر 1: نمبر کو 2 سے تقسیم کرکے بقیہ تلاش کریں، پھر اسے ایک صف میں شامل کریں۔



مرحلہ 2: اگلا، بقیہ کو دو سے تقسیم کریں۔



مرحلہ 3: پہلے دو مراحل کو دوبارہ کریں جب تک کہ نتیجہ 0 سے زیادہ نہ ہو جائے۔





مرحلہ 4: نمبر کی بائنری شکل حاصل کرنے کے لیے صف کو پیچھے کی طرف دکھائیں۔ بائنری نمبر کا Least-Significant-Bit (LSB) سب سے اوپر ہوتا ہے، جب کہ سب سے اہم-بٹ (MSB) نیچے کی طرف ہوتا ہے، جو اس کی تشریح کرنے کا ایک اور طریقہ ہے۔ فراہم کردہ اعشاریہ نمبر کے بائنری مساوی یہ ایک ہے۔

اسے بہتر طور پر سمجھنے کے لیے، یہاں 11 کی تبدیلی ہے۔ 10 اعشاریہ سے بائنری تبدیلی میں:



2 سے تقسیم اقتباس باقی
11÷2 5 1 (LSB)
5 ÷ 2 2 1
2-2 1 0
1-2 0 1 (MSB)


اب، بقیہ کو الٹی ترتیب میں لکھیں، لہذا، اعشاریہ (11 10 ) بن جاتا ہے (1011 2

باقی کو نوٹ کیا جائے گا اور پھر لکھا جائے گا تاکہ بائنری نمبر کا (MSB) پہلے آئے، پھر باقی۔ اس کے نتیجے میں، 1011 2 دی گئی ڈیسیمل ویلیو 11 کے بائنری مساوی ہے۔ 10 . نتیجے کے طور پر، 11 10 = 1011 2 . مندرجہ بالا اعشاریہ کو C زبان میں بائنری کنورژن میں لاگو کرنا ہے۔

اعشاریہ کو بائنری میں تبدیل کرنے کے لیے استعمال ہونے والے طریقے

یہ طریقے جو C زبان میں استعمال ہوتے ہیں اعشاریہ ہندسوں کو بائنری میں تبدیل کرتے ہیں:

اب، اوپر بیان کردہ طریقوں سے اعشاریہ کو بائنری میں تبدیل کرنے کو لاگو کریں۔

طریقہ 1: لوپ کے ساتھ C پروگرامنگ میں اعشاریہ سے بائنری

ذیل میں C میں for-loop کی مدد سے اعشاریہ ہندسہ (11) کو بائنری میں تبدیل کرنا ہے۔

# شامل کریں
باطل تبدیل ( int num1 ) {
اگر ( نمبر 1 == 0 ) {
printf ( '0' ) ;
واپسی ;
}
int binary_num [ 32 ] ; // فرض کرنا 32 بٹ انٹیجر
int میں = 0 ;
کے لیے ( نمبر 1 > 0 ; ) {
binary_num [ i++ ] = نمبر 1 % 2 ;
نمبر 1 / = 2 ;
}
کے لیے ( int j = i- 1 ; جے > = 0 ; جے-- )
printf ( '%d' , binary_num [ جے ] ) ;
}
اہم int ( ) {
int num1;
printf ( 'اعشاریہ نمبر درج کریں:' ) ;
scanf ( '%d' , اور نمبر 1 ) ;
تبدیل ( نمبر 1 ) ;
واپسی 0 ;
}


مندرجہ بالا پروگرام صارف کی طرف سے فراہم کردہ اعشاریہ نمبر کو بائنری میں تبدیل کرنے کے لیے for loop کا استعمال کر رہا ہے۔ آؤٹ پٹ ہے:

طریقہ 2: جبکہ لوپ کے ساتھ C پروگرامنگ میں اعشاریہ سے بائنری

اس طریقہ میں، C میں while-loop کا استعمال اعشاریہ ہندسے (11) کو بائنری میں تبدیل کرنے کے لیے کیا جاتا ہے، جیسا کہ ذیل میں دکھایا گیا ہے:

# شامل کریں
اہم int ( ) {
int decimal_num، binary_num = 0 ، بنیاد = 1 , باقی
printf ( 'اعشاریہ نمبر درج کریں:' ) ;
scanf ( '%d' , اور decimal_num ) ;
جبکہ ( decimal_num > 0 ) {
باقی = decimal_num % 2 ;
binary_num = بائنری_num + باقی * بنیاد؛
decimal_number = decimal_number / 2 ;
بنیاد = بنیاد * 10 ;
}
printf ( 'جب لوپ کے ساتھ دیے گئے اعشاریہ نمبر کی بائنری ہے: %d' , binary_num ) ;
واپسی 0 ;
}


اس پروگرام میں چار عددی متغیرات decimal_num، binary_num، base اور باقی کا پہلے اعلان کیا گیا ہے۔ صارف ایک decimal_num داخل کرتا ہے، جسے ہم اس کے binary_num میں تبدیل کر دیں گے۔ بائنری تبادلوں کو while لوپ کا استعمال کرتے ہوئے کیا جاتا ہے۔

طریقہ 3: اسٹیک کے ساتھ C پروگرامنگ میں بائنری سے اعشاریہ

اسٹیک پر مبنی سی پروگرام کے ساتھ یہ سیدھا سا طریقہ ہے جو اعشاریہ کی قدر کو بائنری میں تبدیل کرتا ہے۔

# شامل کریں

# ڈیفائن MAX_SIZE 32 // بائنری نمائندگی میں بٹس کی زیادہ سے زیادہ تعداد
اہم int ( ) {
int decimal_num، بائنری [ MAX_SIZE ] , top = -1 ;
printf ( 'براہ کرم کوئی بھی اعشاریہ نمبر درج کریں:' ) ;
scanf ( '%d' , اور decimal_num ) ;
جبکہ ( decimal_num > 0 ) {
بائنری [ ++ اوپر ] = decimal_num % 2 ;
decimal_num / = 2 ;
}
printf ( 'اسٹیک طریقہ استعمال کرتے ہوئے %d کی بائنری ہے:' ) ;
جبکہ ( سب سے اوپر > = 0 ) {
printf ( '%d' ، بائنری [ سب سے اوپر-- ] ) ;
}
واپسی 0 ;
}


ہم سب سے پہلے اس پروگرام میں تین عددی متغیر ٹاپ، بائنری اور ڈیسیمل نمبر کا اعلان کرتے ہیں۔ سب سے اوپر اسٹیک میں سب سے زیادہ عنصر کا انڈیکس ہے، اعشاریہ ایک اعشاریہ شکل میں نمبر ہے جو صارف کے ذریعہ درج کیا جاتا ہے، بائنری ایک سرنی ہے جس میں بائنری میں بٹس MAX_SIZE بٹس کے طور پر ہوں گے اور decimal_num بائنری سرنی ہے۔ اس کے بعد، بائنری کنورژن تھوڑی دیر کے لوپ کا استعمال کرتے ہوئے کیا جاتا ہے۔

آؤٹ پٹ ہے:

طریقہ 4: بٹ وائز آپریٹر کے ساتھ سی پروگرامنگ میں اعشاریہ سے بائنری

بٹ وائز آپریشن کے نام سے جانا جانے والا آپریٹر بائنری علامتوں کے ہر ایک بٹس کو جوڑتا ہے جو عدد کی نمائندگی کرتے ہیں۔ درج ذیل ایک بنیادی C اسکرپٹ ہے جو اعشاریہ میں ایک عدد کو بائنری میں ترجمہ کرنے کے لیے بٹ وائز آپریشنز کا استعمال کرتا ہے۔

# شامل کریں

// یہ طریقہ تمام دکھائے گا۔ 4 ایک نمبر کے بٹس
باطل تبدیلی ( int num1 ) {
// غور کریں a 4 -بٹ نمبر
کے لیے ( int i = 3 ; میں > = 0 ; میں-- ) {
int بٹ = ( 1 << میں ) ;
اگر ( نمبر 1 اور تھوڑا سا )
printf ( '1' ) ;
اور
printf ( '0' ) ;
}
}
اہم int ( ) {
int num1;
printf ( 'اعشاریہ نمبر درج کریں:' ) ;
scanf ( '%d' , اور نمبر 1 ) ;
تبدیلی ( نمبر 1 ) ;
واپسی 0 ;
}


یہ پروگرام سب سے اہم بٹ سے شروع ہونے والے اور کم سے کم اہمیت کے ساتھ بٹ پر ختم ہونے والے نمبر کے ذریعے ایک لوپ کو انجام دے گا۔ ماسک اور نمبر پر 'بٹ وائز اور' آپریشن کر کے، ہم یہ تعین کر سکتے ہیں کہ بٹ یا تو 0 ہے یا 1۔ اگر یہ غیر صفر ہے تو موجودہ بٹ 1 ہے۔ دوسری صورت میں، یہ 0 ہے.

num1 کی بائنری شکل دکھانے کے لیے، ہر تکرار کے بعد بٹ آؤٹ پٹ کریں۔ مکمل عمل درآمد کے بعد حتمی پیداوار حسب ذیل ہوگی:

نتیجہ

اعداد کو اعشاریہ سے بائنری میں تبدیل کرنا کمپیوٹر پروگرامنگ میں ایک ضروری مہارت ہے۔ اعشاریہ نمبروں کو بائنری میں تبدیل کرنا ہمیں C پروگرامنگ میں مختلف کارروائیوں کو انجام دینے کے قابل بناتا ہے۔ اس مضمون نے اعشاریہ اقدار کو بائنری اقدار میں تبدیل کرنے کے 4 طریقے فراہم کیے ہیں۔