JavaRush /جاوا بلاگ /Random-UR /کمپیوٹر میموری میں حقیقی نمبر۔ وضاحت
Marianna
سطح
Москва

کمپیوٹر میموری میں حقیقی نمبر۔ وضاحت

گروپ میں شائع ہوا۔
صبح بخیر پہلی تلاش کے لیکچر "حقیقی نمبروں کے ساتھ کام کرنے کی باریکیاں" (سیکشن 2. فلوٹنگ پوائنٹ نمبرز کی ساخت) اور اس موضوع پر اضافی لیکچرز کا مطالعہ کرتے ہوئے، بہت سے لوگوں کو اس موضوع پر بہت سے سوالات کا سامنا کرنا پڑا ہوگا۔ شروع میں، میں نے اپنے آپ کو ضروری جوابات دینے کی کوشش کی، اور اب میں انہیں آپ کو پیش کرتا ہوں تاکہ آپ کو ایک مستقل منطقی ترتیب میں مکمل طور پر سمجھنے میں مدد ملے۔ 1. اعشاریہ اور بائنری نمبر سسٹمز۔ 1.1 اعشاریہ نمبر کا نظام سب سے عام نظاموں میں سے ایک ہے؛ یہ وہی ہے جسے ہم اسکول، یونیورسٹی، زندگی میں کسی بھی غیر کمپیوٹر کے حساب کے حساب کتاب کے لیے استعمال کرتے ہیں۔ اس میں 1، 2، 3، 4، 5، 6، 7، 8، 9، 0 (عربی) - کل 10 ہندسے استعمال کیے گئے ہیں۔ اعداد کے لیے ایک رومن اشارے بھی ہے، جو کہ اب عملی طور پر استعمال نہیں ہوتا۔ اعشاریہ نظام میں، گنتی اکائیوں میں کی جاتی ہے، دسیوں، سینکڑوں، ہزاروں، دسیوں ہزار، سینکڑوں ہزار، لاکھوں، وغیرہ۔ - دوسرے لفظوں میں، یہ نمبر کے تمام ہندسے ہیں۔ نمبر کا ہندسہ نمبر ریکارڈ میں ہندسے کی پوزیشن (جگہ) ہے ۔ قدرتی اعداد کا سب سے کم ہندسہ (اور سب سے کم اہم ) یونٹ کا ہندسہ (دائیں طرف) ہے۔ وہ کیوں سب سے زیادہ حقیر ہے؟ کیونکہ کسی نمبر کے یونٹ ہندسے کو گرانے سے، نمبر خود کم سے کم تبدیل ہو جائے گا (مثال کے طور پر نمبر 345 اور 340)۔ اگلا، دوسرا ہندسہ دسیوں کا ہندسہ ہے، وغیرہ۔ اس سب کا کیا مطلب ہے؟ آئیے اعشاریہ نظام میں کوئی بھی عدد لیں اور اسے ہندسوں میں تحلیل کریں ۔ 3297 = 3*1000 + 2*100 + 9*10 + 7 اس طرح، ہم نے پایا کہ نمبر 3297 میں چوتھے ہندسے کی 3 اکائیاں (یعنی 3 ہزار)، تیسرے ہندسے کی 2 اکائیاں (2 سینکڑوں)، 9 دوسرے ہندسے کی اکائیاں (9 دسیوں) اور پہلے ہندسے کی 7 اکائیاں ۔ دوسرے لفظوں میں یہ تعداد تین ہزار دو سو ستانوے ہے اور اس کے مطابق یہ پوزیشنل ہے ۔ فریکشنل (حقیقی) نمبروں کے ہندسوں کے بارے میں کیا خیال ہے ؟ فرکشنل نمبرز کے ہندسوں کو (ان کا جزوی حصہ) کہا جاتا ہے: دسویں، سواں، ہزارواں، دس ہزارواں، وغیرہ۔ ہندسہ اعشاریہ سے جتنا دور ہے (نمبر کے پورے حصے سے)، یہ اتنا ہی کم اہم ہوگا (اسے چھوڑنے سے، نمبر کی قدر تھوڑی بدلے گی)۔ مثال کے طور پر، آئیے اعشاریہ کے طور پر پیش کردہ کسی بھی جزوی نمبر کو لیں: 25.076 = 2*10 + 5 +0*0.1 + 7*0.01 +6*0.001 اس طرح، ہم دیکھتے ہیں کہ کسری نمبر 25.076 میں 2 دسیوں، 5 اکائیوں، 0 دسواں حصہ شامل ہے۔ ، 7 سوواں اور 6 ہزارواں۔ اعشاریہ نظام 10 ہندسوں اور 10 مقامات کے ملٹیلز کا استعمال کرتا ہے - اس وجہ سے نام "اعشاریہ" ہے۔ 1.2 بائنری نمبر سسٹم ایک نمبر سسٹم ہے جو تقریباً تمام جدید کمپیوٹرز اور دیگر کمپیوٹنگ الیکٹرانک آلات میں استعمال ہوتا ہے۔ نمبروں کو ریکارڈ کرنے کے لیے، یہ صرف دو ہندسوں کا استعمال کرتا ہے - 0 اور 1۔ یہ الجھن میں نہ ڈالنے کے لیے کہ نمبر کس نمبر سسٹم میں لکھا گیا ہے، اسے نیچے دائیں طرف ایک اشارے فراہم کیا جاتا ہے (یہ نمبر سسٹم کی بنیاد ہے )، کے لیے مثال: 1000₁₀ 1000₂ یہاں پہلا نمبر اعشاریہ نظام میں واقف ہزار ہے ، اور سب سے نیچے والا نمبر بائنری نظام کی نمائندگی میں ہے اور یہ اعشاریہ نظام میں برابر ہے... 8 ! اعشاریہ نظام کی طرح، بائنری نظام بھی اعداد کو ہندسوں میں تقسیم کرتا ہے ۔ بائنری نمبر میں ہر ہندسے کو تھوڑا (یا ہندسہ ) کہا جاتا ہے۔ (اگر کوئی دلچسپی رکھتا ہے تو، چار بٹس ایک نبل (یا ٹیٹراڈ) ہے، 8 بٹس ایک بائٹ ہے ، 16 بٹس ایک لفظ ہے ، 32 بٹس ایک ڈبل لفظ ہے )۔ بٹس (ہندسوں) کو بھی دائیں سے بائیں نمبر دیا جاتا ہے، صفر سے شروع ہوتا ہے (اعشاریہ نظام کے برعکس)۔ سب سے کم اہم، کم از کم اہم، دائیں بٹ کا ایک ترتیب نمبر 0 ہے ۔ اس کے بعد پہلا بٹ، دوسرا ، وغیرہ آتا ہے، جتنا پرانا بٹ، اتنا ہی زیادہ اہم ہوتا ہے (جس اعشاری نظام کے ساتھ مشابہت سے ہم سمجھتے ہیں - اگر آپ نمبر 1455 سے ہٹاتے ہیں، تو آپ کے پاس نمبر 1450 رہ جائے گا - تقریباً ابتدائی کے برابر۔ لیکن اگر آپ سینکڑوں کو ہٹا دیتے ہیں، تو آپ کے پاس نمبر 1050 رہ جائے گا، جو پہلے ہی ابتدائی قدر سے بہت دور ہے، کیونکہ سینکڑوں جگہ اکائیوں کی جگہ سے کہیں زیادہ اہم (اعلیٰ ترتیب) ہے۔ )۔ مثال. ابھی تک نہ پڑھیں :))) کمپیوٹر میموری میں حقیقی نمبر۔  زیر تعمیر!!!  - 2 نیچے، اس فریکشنل بائنری نمبر کے بٹس کو سرخ رنگ میں نمبر دیا گیا ہے - مجموعی طور پر ہمارے پاس اس نمبر کے 18 بٹس (ہندسے) ہیں۔ آگے دیکھتے ہوئے، میں یہ نوٹ کرنا چاہوں گا کہ کمپیوٹر میموری میں فریکشنل نمبرز بالکل مختلف طریقے سے محفوظ کیے جاتے ہیں - اس پر بعد میں بات کی جائے گی۔ اس دوران، آئیے سیکھتے ہیں کہ نمبروں کو ایک نمبر سسٹم سے دوسرے نمبر میں کیسے تبدیل کیا جاتا ہے۔ 2. اعشاریہ نظام سے عددی اعداد اور کسر کو بائنری سسٹم میں تبدیل کرنا اور اس کے برعکس۔ 2.1 اعشاریہ سے بائنری میں تبدیلی۔ 2.1.1 عدد۔ ایک عدد اعشاریہ عدد کو بائنری نمبر سسٹم میں تبدیل کرنے کے لیے، آپ کو اس نمبر کو 2 سے تقسیم کرنے کی ضرورت ہے، تقسیم کا بقیہ حصہ لکھیں (یہ ہمیشہ 0 یا 1 کے برابر ہوتا ہے، اس بات پر منحصر ہے کہ نمبر یکساں ہے یا طاق) ، اور تقسیم کے نتیجے کو دوبارہ 2 سے تقسیم کریں، دوبارہ تقسیم کا بقیہ حصہ (0 یا 1) لکھیں، اور دوسری تقسیم کے نتیجے کو دوبارہ 2 سے تقسیم کریں۔ اس طرح جاری رکھیں جب تک کہ تقسیم کا نتیجہ ایک کے برابر نہ ہوجائے۔ اس کے بعد، ہم نتیجہ میں آنے والے تمام زیرو اور والے کو الٹ ترتیب میں لکھتے ہیں ، جو سب سے حالیہ تقسیم کے نتیجے سے شروع ہوتا ہے، جو ہمیشہ 1 کے برابر ہوتا ہے۔ اہم نوٹ۔ 2 سے کسی بھی عدد کی ترتیب وار تقسیم کا حتمی نتیجہ ہمیشہ ایک (1) ہی رہے گا! اگر نتیجہ 1 سے زیادہ ہے، تو ہم اس نتیجے کو 2 سے تقسیم کرتے رہتے ہیں جب تک کہ ہمیں ایک نتیجہ نہیں ملتا۔ اور 2 سے تقسیم کا نتیجہ صرف ایک صورت میں صفر (0) ہو سکتا ہے - یہ خود 2 سے صفر کی تقسیم ہے۔ مثال۔ آئیے نمبر 145 کو ڈیسیمل سسٹم سے بائنری میں تبدیل کرتے ہیں۔ 145/2 = 72 (باقی 1 ) 72/2 = 36 (باقی 0 ) 36/2 = 18 (باقی 0 ) 18/2 = 9 (باقی 0 ) 9/2 = 4 (باقی 1 ) 4/2 = 2 (باقی 0 ) 2/2 = 1 (باقی 0 ) اب ہم اپنے بائنری نمبر کو الٹ ترتیب میں "جمع" کرتے ہیں۔ ہمیں 10010001 نمبر ملتا ہے ۔ ہو گیا! دلچسپ nuance 1. آئیے نمبر 1 کو ڈیسیمل سسٹم سے بائنری میں تبدیل کریں۔ بائنری سسٹم میں، اس نمبر کو بھی 1 لکھا جائے گا۔ آخرکار، 2 سے تقسیم کا حتمی نتیجہ، جو 1 کے برابر ہونا چاہیے، پہلے ہی نمبر 1 کے برابر ہے۔ 1₁₀ = 1₂ دلچسپ nuance 2. آئیے تبدیل کرتے ہیں۔ اعشاریہ نظام سے بائنری تک نمبر 0 ۔ بائنری سسٹم میں، یہ نمبر 0. 0₁₀ = 0₂ 2.1.2 فریکشنل نمبرز کے طور پر بھی لکھا جائے گا ۔ فریکشنل نمبرز کو بائنری میں کیسے تبدیل کیا جائے؟ اعشاریہ کسر کو بائنری نمبر سسٹم میں تبدیل کرنے کے لیے، آپ کو یہ کرنا ہوگا: a) پیراگراف 2.1.1 میں مطالعہ کیے گئے الگورتھم کے مطابق کسر کے پورے حصے کو بائنری سسٹم میں تبدیل کریں b) کسر کے جزوی حصے کو 2 سے ضرب دیں ، لکھیں اعشاریہ پوائنٹ سے پہلے نتیجہ کا نتیجہ کا ہندسہ (ہمیشہ 0 یا 1 کے برابر، جو کہ منطقی ہے)، پھر صرف حاصل شدہ نتیجہ کے جزوی حصے کو دوبارہ 2 سے ضرب دیں، اعشاریہ (0 یا 1) سے پہلے نتیجہ کا ہندسہ لکھیں اور اسی طرح فرکشنل تک ضرب کے نتیجے کا حصہ 0 کے برابر ہو جاتا ہے یا جب تک کہ اعشاریہ مقامات کی مطلوبہ تعداد (مطلوبہ درستگی ) (2 سے ضرب کی تعداد کے برابر)۔ اس کے بعد آپ کو اصلی (فرکشنل) نمبر کے عددی اور جزوی حصوں کو الگ کرنے والے پوائنٹ کے بعد لکھے گئے زیرو اور ایک کے نتیجے میں ترتیب کو لکھنے کی ضرورت ہے ۔ مثال 1۔ آئیے نمبر 2.25 (2 پوائنٹ 25 سوویں) کو ڈیسیمل سسٹم سے بائنری سسٹم میں تبدیل کریں۔ بائنری سسٹم میں کسر 10.01 کے برابر ہوگا ۔ ہم نے یہ کیسے حاصل کیا؟ نمبر ایک عددی حصہ (ایک پوائنٹ تک) پر مشتمل ہوتا ہے - یہ 2 ہے اور ایک جزوی حصہ - یہ 0.25 ہے۔ 1) پورے حصے کا ترجمہ: 2/2 = 1 (باقی 0 ) پورا حصہ 10 ہوگا ۔ 2) جزوی حصے کا ترجمہ۔ 0.25 * 2 = 0 .5 (0) 0.5 * 2 = 1 .0 (1) 2 سے لگاتار ضرب کے نتیجے میں جزوی حصہ 0 کے برابر ہو گیا۔ ہم ضرب کرنا بند کر دیتے ہیں۔ اب ہم کسری حصے کو ترتیب میں "جمع" کرتے ہیں - ہمیں بائنری سسٹم میں 0.01 ملتا ہے۔ 3) عددی اور جزوی حصوں کو شامل کریں - ہم سمجھتے ہیں کہ اعشاریہ 2.25 بائنری فریکشن 10.01 کے برابر ہوگا ۔ مثال 2۔ آئیے نمبر 0.116 کو ڈیسیمل سسٹم سے بائنری سسٹم میں تبدیل کریں۔ 0.116 * 2 = 0.232 (0) 0.232 * 2 = 0.464 (0) 0.464 * 2 = 0.928 (0) 0.928 * 2 = 1.856 (1) //اس نتیجہ کا عددی حصہ رد کریں 0.856 ( 217 ) ) //اس نتیجہ کے پورے حصے کو ضائع کریں 0.712*2 = 1.424 (1) //اس نتیجہ کے پورے حصے کو رد کریں 0.424*2 = 0.848 (0) جیسا کہ ہم دیکھ سکتے ہیں، ضرب جاری رہتی ہے۔ نتیجہ کا جزوی حصہ 0 کے برابر نہیں ہو جاتا۔ پھر ہم فیصلہ کرتے ہیں کہ ہم اپنے اعشاری حصے کو پوائنٹ کے بعد 7 اعشاریہ مقامات (بٹس) کی درستگی کے ساتھ بائنری میں تبدیل کریں گے (فرکشنل حصے میں)۔ آئیے یاد رکھیں کہ ہم نے غیر معمولی بٹس کے بارے میں کیا مطالعہ کیا ہے - جتنا آگے بٹ (بٹ) پورے حصے سے ہوگا، ہمارے لیے اسے نظر انداز کرنا اتنا ہی آسان ہوگا (لیکچر کے سیکشن 1 میں وضاحت، جو بھول گئے)۔ ہمیں ڈاٹ کے بعد 7 بٹس کی درستگی کے ساتھ بائنری فریکشن 0.0001110 ملتا ہے۔ 2.2 بائنری سے ڈیسیمل میں تبدیلی۔ 2.2.1 عدد۔ مکمل ترجمہ کرنے کے لیے بائنری نمبر سسٹم سے اعشاریہ تک نمبر، اس نمبر کو ہندسوں (بٹس) میں تقسیم کرنا اور ہر ہندسہ (بٹ) کو نمبر 2 سے ایک خاص مثبت ڈگری تک ضرب کرنا ضروری ہے (یہ ڈگری کم از کم اہم سے دائیں سے بائیں گننا شروع کرتی ہے۔ (دائیں بٹ) اور 0 سے شروع ہوتا ہےدوسرے لفظوں میں، دو کی طاقت دیئے گئے بٹ کی تعداد کے برابر ہے (لیکن یہ غیر تحریری اصول صرف عدد کو تبدیل کرنے کے معاملے میں استعمال کیا جا سکتا ہے ، کیونکہ جزوی نمبروں کے لیے بٹس کی تعداد کسری حصے میں شروع ہوتی ہے، جس کا ترجمہ کیا جاتا ہے۔ اعشاری نظام میں مختلف طریقے سے )۔ اگلا آپ کو نتیجے میں مصنوعات کو شامل کرنے کی ضرورت ہے . مثال. آئیے بائنری نمبر 110011 کو ڈیسیمل نمبر سسٹم میں تبدیل کرتے ہیں۔ 110011₂ = 1*2⁵ + 1*2⁴ + 0*2³ + 0*2² + 1*2¹ + 1*2º = 32 +16 +0 + 0 + 2 + 1 = 51₁₀ نتیجے کے طور پر، ہمیں نمبر 51 ملتا ہے بائنری نظام. معلومات کے لیے ذیل میں نمبر 2 کی پہلی طاقتوں کا جدول ہے ۔ ابھی تک نہ پڑھیں :))) کمپیوٹر میموری میں حقیقی نمبر۔  زیر تعمیر!!!  - 5 ! براہ کرم نوٹ کریں کہ کسی عدد کی صفر کی طاقت ہمیشہ 1. 2.2.2 فریکشنل نمبرز ہوتی ہے۔ بائنری فریکشنل (حقیقی) نمبر کو اعشاریہ میں تبدیل کرنے کے لیے ، آپ کو لازمی ہے: الف) پیراگراف 2.2.1 سے الگورتھم کے مطابق اس کے عددی حصے کو اعشاریہ میں تبدیل کریں ۔ ب) اس کے جزوی حصے کا مندرجہ ذیل ترجمہ کریں ۔ جزوی حصے کو ہندسوں کی مصنوعات کے مجموعہ کے طور پر پیش کرنا ضروری ہے دو ، ایک خاص منفی طاقت تک بڑھایا جائے ( پوائنٹ کے بعد پہلے ہندسے کی طاقت (فریکشن کے پورے حصے کے بعد) -1 کے برابر ہوگی، پوائنٹ کے بعد دوسرے ہندسے کے لیے -2 کے برابر ہو جائے گا، وغیرہ) نتیجہ یہ رقم اعشاریہ نظام میں نمبر کا جزوی حصہ ہو گی۔ مثال. آئیے نمبر 10111.01 کو بائنری سسٹم میں تبدیل کریں۔ 10111.01₂ = (1*2⁴ + 0*2³ + 0*2² + 1*2¹ + 1*2º)۔ (0*2ˉ¹ + 1*2ˉ²) = (16 + 0 + 4 + 2 + 1)۔ (0 + 0.25) = 23.25₁₀ نتیجے کے طور پر، ہمیں اعشاریہ نمبر کے نظام میں نمبر 23.25 ملتا ہے۔ 2 کی پہلی منفی طاقتوں کا جدول ذیل میں دیا گیا ہے۔ 2.2.3 اعداد کو بائنری سے ڈیسیمل میں تبدیل کرنے کا عمومی فارمولا۔ آئیے اعداد کو بائنری سے اعشاریہ میں تبدیل کرنے کا ایک عمومی فارمولا دیتے ہیں (انٹیجر اور فرکشنل دونوں حصے)۔ جہاں A بائنری نمبر سسٹم میں ایک نمبر ہے؛ نمبر سسٹم کی بنیاد 2 ہے (مطلب، ہر بٹ کو 2 سے پاور سے ضرب دیا جاتا ہے)؛ nابھی تک نہ پڑھیں :))) کمپیوٹر میموری میں حقیقی نمبر۔  زیر تعمیر!!!  - 7 ابھی تک نہ پڑھیں :))) کمپیوٹر میموری میں حقیقی نمبر۔  زیر تعمیر!!!  - 4- عددی ہندسوں کی تعداد (بٹس) ؛ m عدد کے فریکشنل ہندسوں (بٹس) کی تعداد ہے ۔ تقسیم نقطہ سے عددی حصہ کا پہلا بٹ سرخ رنگ میں نمایاں کیا گیا ہے۔ اسے ہمیشہ صفر کی طاقت سے 2 سے ضرب دیا جاتا ہے۔ اس سے پہلے کا اگلا بٹ (بائیں طرف) کو پہلی طاقت وغیرہ سے 2 سے ضرب دیا جاتا ہے۔ تقسیم نقطہ سے جزوی حصے کا پہلا حصہ سبز رنگ میں نمایاں کیا گیا ہے۔ اسے ہمیشہ مائنس فرسٹ پاور سے 2 سے ضرب دیا جاتا ہے۔ دائیں طرف کے اگلے بٹ کو مائنس سیکنڈ پاور وغیرہ سے 2 سے ضرب دیا جاتا ہے۔ 3. سائنسی اشارے: دونوں نظاموں میں ایک معمول کی علامت۔ Mantissa، exponent، exponent کی ڈگری۔ 3.1 نمبر لکھنے کی صریح شکل۔ اس سے پہلے، ہم نے پوزیشنی نمبروں کو ہندسے کے حساب سے ریکارڈ کرنے کے لیے ایک تفصیلی اسکیم کا مطالعہ کیا تھا ۔ آئیے نمبر لیں 0.000000000000000000016 ۔ اس میں معیاری شکل میں بہت طویل اندراج ہے ۔ اور کفایتی شکل میں یہ اس طرح نظر آئے گا: 1.6 * 10ˉ²¹ تو کسی عدد کی کفایتی شکل کیا ہے اور اس شکل میں کسی عدد کو کیسے ظاہر کیا جائے؟ ایک عدد کے لیے سائنسی اشارے ایک مانٹیسا اور ایکسپوننٹ کے بطور حقیقی اعداد کی نمائندگی ہے ۔ بہت بڑی اور بہت چھوٹی تعداد کی نمائندگی کرنے کے ساتھ ساتھ ان کی تحریر کو یکجا کرنے کے لیے آسان ہے۔ N = M * pⁿ جہاں N وہ نمبر ہے جسے لکھا جانا ہے، M نمبر کا مانٹیسا ہے ، p بنیاد ہے (دیئے گئے نمبر کے نظام کی بنیاد کے برابر)، n (انٹیجر) ترتیب (ڈگری ) ہے۔ ، مثبت اور منفی ہو سکتا ہے)، p سے n کی طاقت خصوصیت کے اعداد ہیں (قوت، یعنی بنیاد کو طاقت (ترتیب) تک بڑھایا گیا ہے)۔ ایک اہم نکتہ۔ اگر اعشاریہ نمبر کا عددی حصہ 0 سے مختلف ہے ، تو ایکسپوننٹ کی ترتیب (ڈگری) مثبت ہوگی ، اگر عددی حصہ 0 کے برابر ہے ، تو ایکسپوننٹ کی ڈگری منفی ہوگی ۔ 3.2 نمبر لکھنے کی عام اور عام شکل۔ عدد کی عام شکل ایک شکل ہے جس میں مینٹیسا (نشان کو مدنظر رکھے بغیر) نصف وقفہ [0,1] پر واقع ہوتا ہے، یعنی 0 <= M <1۔ تحریر کی اس شکل میں خرابی : کچھ نمبر مبہم طور پر لکھے جاتے ہیں (مثال کے طور پر، 0.0001 کو 0.000001*10²، 0.00001⋅10¹، 0.0001⋅10º، 0.001⋅10ˉ¹ اور اسی طرح لکھا جا سکتا ہے)۔ لہذا، ریکارڈنگ کی ایک اور شکل بڑے پیمانے پر ہے (خاص طور پر کمپیوٹر سائنس میں) - معمول کے مطابق، جس میں اعشاریہ نمبر کا مینٹیسا 1 (شامل) سے 10 (خصوصی) تک اقدار لیتا ہے، یعنی 1 <= M <10 (اسی طرح، ایک بائنری نمبر کا مینٹیسا 1 سے 2 تک اقدار لیتا ہے )۔ دوسرے لفظوں میں، اعشاریہ نظام میں مانٹیسا 1.0 (شامل) سے 10 (خصوصی) تک ایک جزوی نمبر ہونا چاہیے ، یعنی مینٹیسا کے عددی حصے میں ایک ہندسہ ہونا چاہیے، اور جزوی حصہ ریاضی کے لحاظ سے محدود نہیں ہے۔ نارملائزڈ فارم کا فائدہ یہ ہے کہ اس طرح کوئی بھی نمبر (سوائے 0) کو منفرد انداز میں لکھا جاتا ہے۔ نقصان یہ ہے کہ اس شکل میں 0 کی نمائندگی کرنا ناممکن ہے، اس لیے کمپیوٹر سائنس میں اعداد کی نمائندگی نمبر 0 کے لیے ایک خاص نشان (بٹ) فراہم کرتی ہے ۔ آئیے مثالیں دیکھتے ہیں۔ مثال 1۔ آئیے اعشاریہ نمبر 1015000 (ایک ملین پندرہ ہزار) کو ایکسپونینشل نارملائزڈ شکل میں لکھتے ہیں۔ اس نمبر کا نظام اعشاریہ ہے، اس لیے بنیاد 10 ہوگی ۔ آئیے مینٹیسا کو منتخب کریں ۔ ایسا کرنے کے لیے، عدد کو ایک کسر کے طور پر تصور کریں، جس کا جزوی حصہ صفر کے برابر ہوگا (چونکہ نمبر ایک عدد عدد ہے): 1000000.0۔ اگر عدد کا عددی حصہ 0 سے بڑا ہے ، تو پوائنٹ کو اس کی ابتدائی پوزیشن کے بائیں طرف لے جائیں (انٹیجر حصے کے اندر) جب تک کہ عددی حصے میں صرف ایک ہندسہ باقی نہ رہے ۔ اس کے بعد ہم نے مدت لگائی۔ ہم غیر معمولی زیرو (نمبر کے آخر میں) کو مسترد کرتے ہیں۔ ہمیں 1.015 کے برابر نمبر کا مانٹیسا ملتا ہے ۔ آئیے نمبر کی بنیاد کی ڈگری (ترتیب) کا تعین کریں۔ انٹیجر اور فریکشنل حصوں کو الگ کرنے والا ہمارا نقطہ بائیں طرف کتنی پوزیشنوں پر منتقل ہوا ہے؟ چھ عہدوں کے لیے۔ اس کا مطلب ہے کہ آرڈر 6 ہوگا ۔ اس صورت میں، ترتیب مثبت ہے (ہم نے پوائنٹ کو عدد کے عدد کے حصے میں منتقل کیا جو 0 کے برابر نہیں ہے)۔ عام شکل میں حتمی اندراج: 1.015 * 10⁶ ۔ ہم اس نمبر کو اس شکل میں لکھ سکتے ہیں: 1.015E6 (جہاں E6 اعشاریہ نمبر کا ایکسپوننٹ ہے ، یعنی 10 سے 6 طاقت)۔ آئیے خود کو جانچتے ہیں ۔ کسی عدد کے لیے ایکسپونینشل اشارے ایک نمبر (مانٹیسا) اور دوسرے نمبر (ایکسپوننٹ) کی پیداوار سے زیادہ کچھ نہیں ہے۔ اگر آپ 1.015 کو 10⁶ سے ضرب دیں تو کیا ہوگا؟ 1.015* 10⁶ = 1.015*1000000 = 1015000 یہ ٹھیک ہے. یہ نقطہ نظر (نارملائزڈ) ایک غیر مبہم ریکارڈ بنانے میں مدد کرتا ہے۔ اعداد و شمار کفایتی شکل میں، جیسا کہ اوپر بتایا گیا ہے۔ مثال 2۔ آئیے اعشاریہ حقیقی نمبر 0.0098 کو نارمل شکل میں لکھتے ہیں۔ آئیے نمبر کی بنیاد کو نمایاں کریں - یہ 10 (اعشاریہ نمبر سسٹم) کے برابر ہے۔ آئیے نمبر کا مینٹیسا منتخب کریں - یہ 9.8 کے برابر ہے (نمبر کا عددی حصہ صفر کے برابر ہے، جس کا مطلب ہے کہ ہم پوائنٹ کو دائیں طرف پہلے اہم ہندسے کی طرف لے جاتے ہیں (1 سے 9 تک کی حد میں پڑا ہوا) ہم نمبر کی ترتیب کا تعین کرتے ہیں - ہم نے پوائنٹ کو تین پوزیشنوں سے منتقل کیا، جس کا مطلب ہے کہ ترتیب 3 ہے۔ کیا یہ مثبت ہے یا منفی؟ چونکہ ہم نے پوائنٹ کو دائیں طرف منتقل کیا (نمبر کے جزوی حصے میں)، آرڈر (طاقت) منفی ہو گا ۔ عام شکل میں نمبر کا حتمی ریکارڈ 9.8 * 10ˉ³ یا 9.8E-3 ہے ۔ آئیے خود کو دوبارہ چیک کریں۔ 9.8 کو 10ˉ³ سے ضرب دیں۔ 9.8 * 10ˉ³ = 9.8 * 0.001 = 0.0098 صحیح۔ مثال 3۔ آئیے اعشاریہ حقیقی نمبر 3.56 کو نارمل شکل میں لکھیں۔ نمبر کی بنیاد منتخب کریں - یہ 10 کے برابر ہے (اعشاریہ نمبر کا نظام)۔ نمبر کا مینٹیسا منتخب کریں - یہ 3.56 کے برابر ہے (انٹیجر) نمبر کا حصہ ایک واحد ہندسہ ہے، 0 کے برابر نہیں ہے۔ اس کا مطلب ہے کہ پوائنٹ کو کہیں بھی منتقل کرنے کی ضرورت نہیں ہے، نمبر خود مینٹیسا ہوگا۔) آئیے بیس کی ترتیب کو نمایاں کریں: مینٹیسا کو کس نمبر سے ہونا چاہئے؟ , خود نمبر کے برابر، ضرب کیا جائے تاکہ یہ تبدیل نہ ہو؟ فی یونٹ، فی اکائی. اس کا مطلب ہے کہ ترتیب صفر ہو جائے گی۔ عام شکل میں نمبر کا حتمی ریکارڈ 3.56 * 10º یا 3.56E0 ہے۔ 4. کمپیوٹر میموری میں حقیقی نمبروں کو ذخیرہ کرنا: فلوٹ اور ڈبل۔ 4.1 قسمیں فلوٹ اور ڈبل۔ آئیے اپنے لیکچر کے اہم حصے کی طرف چلتے ہیں۔ جیسا کہ ہم پہلے ہی جانتے ہیں، جاوا میں دو قسم کے حقیقی نمبر ہیں: float اور double ۔ فلوٹ کی قسم کمپیوٹر میموری میں 32 بٹس پر قبضہ کرتی ہے اور رینج میں اقدار لے سکتی ہے [3.4E-38؛ 3.4E+38) (دوسرے الفاظ میں، رینج میں 3.4*10ˉ³⁸ (شامل) سے 3.4 * 10³⁸ (سوائے))۔ اہم نکتہ 1۔ فلوٹ نمبرز مثبت یا منفی ہو سکتے ہیں۔ اوپر کی یہ رینج فلوٹ رینج میں شامل نمبروں کے ماڈیولز کی نشاندہی کرنے کے لیے پیش کی گئی ہے۔ اہم nuance 2. 10³⁸ تقریباً 2¹²⁷ کے برابر ہے ، بالترتیب، 10 ˉ³⁸ تقریباً 2ˉ¹²⁷ کے برابر ہے ۔ اس طرح، فلوٹ نمبرز کی مطلق قدروں کا وقفہ [3.4*2ˉ¹²⁷; 3.4 * 2¹²⁷)۔ ڈبل قسم کمپیوٹر میموری سے دوگنا زیادہ لیتی ہے۔64 بٹس اور رینج [-1.7E+308; 1.7E+308) بالترتیب۔ 4.2 بائنری نمبرز کی ایکسپونیشنل نارملائزڈ شکل۔ ہم جانتے ہیں کہ نمبرز بائنری شکل میں کمپیوٹر میموری میں محفوظ ہوتے ہیں۔ تو، آئیے نمبر 1560.256 (فلوٹ قسم) لیں اور اسے پوزیشنل شکل میں بائنری سسٹم میں تبدیل کریں: 11000011000.01000001100 ۔ آپ سوچ سکتے ہیں کہ یہ کمپیوٹر کی میموری میں اس طرح محفوظ ہو جائے گا۔ لیکن یہ سچ نہیں ہے! کمپیوٹر میموری میں، فلوٹ اور ڈبل قسمیں ( حقیقی فلوٹنگ پوائنٹ کی قسمیں ) ایکسپونینشل نارملائزڈ شکل میں محفوظ ہوتی ہیں ، لیکن پاور کی بنیاد 10 کے بجائے 2 ہوتی ہے۔ یہ اس حقیقت کی وجہ سے ہے کہ جیسا کہ اوپر بتایا گیا ہے، تمام ڈیٹا کمپیوٹر کو بائنری شکل (bits) میں دکھایا جاتا ہے۔ کسی نمبر کے لیے کمپیوٹر میموری کی ایک خاص مقدار مختص کی جاتی ہے۔ آئیے مثبت نمبر 15.2 کو نارملائزڈ ایکسپونیشنل فارم میں پیش کرتے ہیں: 1.52*10¹ ۔ اس کے بعد، آئیے اسی الگورتھم کا استعمال کرتے ہوئے اس کی بائنری "جڑواں" 1111.00110011001 کی نمائندگی کرتے ہیں ، اسی الگورتھم کا استعمال کرتے ہوئے: 1) بنیاد 2 کے برابر ہوگی 2) مینٹیسا 1.11100110011001 کے برابر ہوگا 3) ڈگری مثبت ہوگی اعشاریہ نظام میں (پوائنٹ کو 3 بٹس بائیں طرف منتقل کیا جاتا ہے)۔ آئیے اسے بائنری سسٹم میں تبدیل کرتے ہیں: 11 ۔ تو بائنری ایکسپونیشنل نارملائزڈ فارم میں یہ 1.11100110011001 * 2¹¹ ہوگا ۔ 4.3 کمپیوٹر میموری میں فلوٹ نمبر کی ایکسپونینشل نارملائزڈ بائنری شکل کو اسٹور کرنا ۔ لہذا، ہم نے اندازہ لگایا کہ ایک حقیقی نمبر کمپیوٹر میموری میں ایکسپونینشل نارملائزڈ بائنری شکل میں محفوظ کیا جائے گا ۔ یادداشت میں کیسا لگے گا؟ آئیے فلوٹ کی قسم لیتے ہیں ۔ کمپیوٹر ہر فلوٹ نمبر کے لیے 32 بٹس مختص کرتا ہے ۔ وہ مندرجہ ذیل طور پر تقسیم کیے گئے ہیں ۔ یہ اعداد و شمار ایک کمپیوٹر میں 32 بٹ فلوٹ نمبر کے لیے مختص میموری کو سکیمیٹ طور پر دکھاتا ہے۔ ابھی تک نہ پڑھیں :))) کمپیوٹر میموری میں حقیقی نمبر۔  زیر تعمیر!!!  - 5 بٹ نمبرنگ سرخ رنگ میں ظاہر کی گئی ہے ۔ سبز نمبر کے نشان کو ذخیرہ کرنے کے لیے مختص میموری (1 بٹ) کے ٹکڑے کی نشاندہی کرتا ہے۔ پیلا نمبر (8 بٹس) کی ایکسپونیشنل شکل کی شفٹڈ پاور (آرڈر) کو ذخیرہ کرنے کے لیے مختص میموری کے ایک ٹکڑے کی نشاندہی کرتا ہے۔ نیلابغیر کسی مضمر یونٹ (23 بٹس) کے کسی نمبر کے نارملائزڈ مینٹیسا کو ذخیرہ کرنے کے لیے مختص میموری کے ایک ٹکڑے کی نشاندہی کرتا ہے۔ آئیے قریب سے دیکھیں۔ 1) سائن بٹ۔ سب سے اہم (بائیں سے پہلا) بٹ ہمیشہ نمبر کے نشان کو ذخیرہ کرنے کے لیے مختص کیا جاتا ہے (1 اگر نمبر منفی ہے، اور 0 اگر نمبر مثبت ہے)۔ ایک استثناء نمبر صفر ہوسکتا ہے - پروگرامنگ میں، صفر منفی اور مثبت دونوں ہوسکتا ہے ۔ 2) اگلا بیس 2 کے ساتھ ایکسپوننٹ کی ڈگری (ترتیب) کے بٹس آتے ہیں ۔ اس کے لیے 8 بٹس مختص کیے گئے ہیں۔ فلوٹ نمبرز کی ایکسپوننٹ ڈگری ، جیسا کہ ہم جانتے ہیں، دونوں منفی ہو سکتے ہیں (ان اعداد کے لیے جن کا عددی حصہ 0 ہے، پیراگراف 3.3 دیکھیں) اور مثبت (ان اعداد کے لیے جن کا عددی حصہ صفر سے مختلف ہے) اور 2ˉ¹²⁷ سے 2¹²⁷ تک ہو سکتا ہے ۔ نظریہ میں، ہمیں ایکسپوننٹ کے نشان کا تعین کرنے کے لیے ایک بٹ مختص کرنا چاہیے، جیسا کہ سائن بٹ کا معاملہ ہے۔ لیکن یہ سچ نہیں ہے۔ ایکسپوننٹ کے نشان کا تعین کرنے میں تھوڑا سا ضائع نہ کرنے کے لیے، فلوٹ نمبرز نصف بائٹ +127 (0111 1111) کے ایکسپوننٹ میں ایک آفسیٹ کا اضافہ کرتے ہیں ۔ اس طرح، 2ˉ¹²⁷ سے 2¹²⁷ تک طاقتوں کی رینج کے بجائے، کمپیوٹر 0 سے +254 تک طاقتوں کی ایک رینج کو اسٹور کرتا ہے - تمام پاور ویلیوز مثبت ہیں ، سائن پر اضافی بائٹ ضائع کرنے کی ضرورت نہیں ہے۔ اس سے پتہ چلتا ہے کہ ایکسپوننٹ کی قدر ممکنہ قدر کے مقابلے نصف کے حساب سے منتقل ہو جاتی ہے ۔ اس کا مطلب ہے کہ ایکسپوننٹ کی اصل قیمت حاصل کرنے کے لیے، آپ کو اس آفسیٹ کو میموری میں ذخیرہ شدہ قدر سے گھٹانا ہوگا۔ اگر میموری میں ذخیرہ شدہ ایکسپوننٹ ویلیو آفسیٹ (+127) سے کم ہے، تو ایکسپونٹ منفی ہے: یہ منطقی ہے۔ مثال. آئیے منفی ڈگری -18 کی شفٹ انجام دیں ۔ ہم اس میں آفسیٹ +127 شامل کرتے ہیں، ہمیں ڈگری +108 کی قدر ملتی ہے (حساب میں ڈگری 0 کو مت بھولنا)۔ آئیے ڈگری کو بائنری شکل میں تبدیل کرتے ہیں: 1101100 لیکن ڈگری کے لیے میموری کے 8 بٹس مختص کیے گئے ہیں، اور یہاں ہمیں 7 بٹ نمبر ملتا ہے۔ خالی، غیر منقولہ ہائی ڈیجٹ (بٹ) کی جگہ، کمپیوٹر 0 کا اضافہ کرتا ہے۔ نتیجہ یہ ہے کہ یہ ڈگری کمپیوٹر کی میموری میں 01101100 کے طور پر محفوظ ہو جائے گی ۔ آئیے دیکھتے ہیں: +108 < +127، جس کا مطلب ہے کہ ڈگری دراصل منفی ہے۔ مندرجہ ذیل دلچسپ جدول پر غور کریں: یہ بائنری اور ڈیسیمل سسٹمز میں فلوٹ نمبرز کی نارمل شکلوں کی طاقتوں کی تمام ممکنہ قدروں کو ظاہر کرتا ہے۔ جیسا کہ ہم دیکھ سکتے ہیں، بائنری سسٹم میں +127 پورے بائٹ (8 بٹس) کا بالکل نصف ہے۔ 3) باقی 23 بٹس مینٹیسا کے لیے مخصوص ہیں۔ ابھی تک نہ پڑھیں :))) کمپیوٹر میموری میں حقیقی نمبر۔  زیر تعمیر!!!  - گیارہ. لیکن ایک نارملائزڈ بائنری مینٹیسا کے لیے، سب سے اہم بٹ (عرف نارملائزڈ مینٹیسا کا عددی حصہ) ہمیشہ 1 کے برابر ہوتا ہے (جسے implicit one کہا جاتا ہے )، کیونکہ مینٹیسا کی تعداد 1<=M<2 (اور) کی حد میں ہوتی ہے۔ لیکچر کے پیراگراف 2.1.1 کو بھی یاد کریں)۔ صرف استثنا نمبر 0 ہے۔ الاٹ شدہ 23 بٹس میں یونٹ لکھنے اور میموری کو ضائع کرنے کا کوئی فائدہ نہیں ہے، لہذا مانٹیسا کا بقیہ حصہ (اس کا جزوی حصہ) الاٹ شدہ 23 بٹس میں لکھا جاتا ہے۔ یہ پتہ چلتا ہے کہ بنیادی طور پر فلوٹ نمبر کے اہم حصے کی لمبائی 24 ہے، جس میں سے ایک کم ذخیرہ کیا جاتا ہے. ایک اہم نکتہ۔ آئیے یاد رکھیں کہ جب اعشاریہ فریکشنل نمبرز کو بائنری نمبرز میں تبدیل کرتے ہیں تو بائنری سسٹم میں فریکشنل حصہ اکثر بہت بڑا نکلا تھا۔ اور ہمارے پاس فلوٹ نمبر کو ذخیرہ کرنے کے لیے صرف 32 بٹس ہیں۔ اس صورت میں، بائنری فریکشن (اس لیکچر کا پیراگراف 2.1.2 یاد رکھیں) کے سب سے کم، سب سے کم اہم ہندسے مختص میموری میں شامل نہیں ہوں گے اور کمپیوٹر انہیں نظر انداز کر دے گا ۔ نمبر کی درستگی ختم ہو جائے گی ، لیکن، آپ دیکھتے ہیں، یہ کم سے کم ہے۔ دوسرے لفظوں میں، فریکشنل فلوٹس کی درستگی 6-7 اعشاریہ ہے ۔ 4.4 کمپیوٹر میموری میں نمبر ڈبل کی ایکسپونینشل نارملائزڈ بائنری شکل کو محفوظ کرنا۔ دوہری قسم کے حقیقی نمبر کمپیوٹر میموری میں اسی طرح محفوظ کیے جاتے ہیں جیسے فلوٹ نمبرز، کچھ خصوصیات کو چھوڑ کر۔ کمپیوٹر میموری میں ڈبل نمبر کے 64 بٹ ہوتے ہیں ۔ وہ مندرجہ ذیل طور پر تقسیم کیے گئے ہیں (بائیں سے دائیں ترتیب میں بھی): 1) سائن بٹ (پیراگراف 4.3 دیکھیں)۔ ہم سمجھتے ہیں کہ اس بٹ کی تعداد 63 ہوگی ۔ 2) ڈگری (حکم)۔ اسے ذخیرہ کرنے کے لیے ڈبل نمبرز کو 11 بٹس مختص کیے گئے ہیں ۔ ڈگری شفٹ بھی کی جاتی ہے ، لیکن دوہرے نمبروں کے لیے یہ +1023 کے برابر ہوگا ۔ 3) مانٹیسا (اہم حصہ)۔ ڈبل نمبرز کو ذخیرہ کرنے کے لیے 52 بٹس (ہندسے) مختص کیے گئے ہیں۔ نیز، مینٹیسا ( مضمون یونٹ ) کا صحیح عددی حصہ میموری میں محفوظ نہیں ہوتا ہے ۔ یہ بات بھی قابل توجہ ہے کہ فریکشنل ڈبلز کی درستگی تقریباً 16 اعشاریہ 16 مقامات پر ہے ۔ 4.5 کمپیوٹر میموری میں اعشاریہ نظام کی حقیقی تعداد کی نمائندگی کرنے کی مثالیں۔ اور ہمارے لیکچر کا آخری نکتہ اعشاریہ نمبر سسٹم کے فریکشنل نمبر کو کمپیوٹر میموری میں اس کے اسٹوریج کی شکل میں تبدیل کرنے کی مثال ہو گا تاکہ موضوع کی سمجھ کو مضبوط کیا جا سکے۔ مثال 1۔ ایک نمبر لیں۔ -4.25 فلوٹ کی قسم۔ آئیے اسے بائنری نمبر سسٹم میں ایکسپونینشل نارملائزڈ شکل میں پیش کرتے ہیں، ہر اس چیز کو یاد کرتے ہوئے جو ہم نے اس لیکچر میں بتائی ہیں۔ 1) عدد کے عددی حصے کو بائنری شکل میں تبدیل کریں : 4/2 = 2 (بقیہ ڈویژن 0 ) 2/2 = 1 (بقیہ ڈویژن 0 ) بائنری سسٹم میں عددی حصہ 100 کے برابر ہوگا۔ 2) نمبر کے جزوی حصے کو بائنری شکل میں تبدیل کریں ۔ 0.25*2 = 0.5 ( 0 ) 0.5*2 = 1.0 ( 1 ) جزوی حصہ بائنری سسٹم میں 0.01 کے برابر ہوگا۔ 3) اس طرح، -4.25₁₀ = -100.01₂ ۔ 4) آئیے نمبر -100.01₂ کو بائنری نمبر سسٹم میں ایکسپونینشل نارملائزڈ شکل میں تبدیل کرتے ہیں (جس کا مطلب ہے کہ طاقت کی بنیاد 2 ہوگی)۔ -100.01₂ = -1.0001 *2² ڈگری کی قدر کو ڈیسیمل فارمیٹ سے بائنری میں تبدیل کرتے ہیں ۔ 2/2= 1 (بقیہ 0 ) ڈگری 10₂ ہے۔ ہمیں معلوم ہوا کہ نمبر -4.25₁₀ اس کی بائنری ایکسپونیشنل نارملائزڈ شکل میں -1.0001 * 2¹º کے برابر ہوگا آئیے لکھتے ہیں کہ یہ کمپیوٹر میموری میں کیسا نظر آئے گا۔ سائن بٹ 1 (منفی نمبر) ہوگا ۔ ایکسپوننٹ آفسیٹ 2+127 = 129₁₀ = 10000001₂ کے برابر ہے ہم مینٹیسا سے مضمر کو ہٹاتے ہیں ، ہمیں 00010000000000000000000 ملتا ہے ( ہم غیر منقولہ کم آرڈر کے بٹس کو بھرتے ہیں ) ۔ نیچے کی لکیر۔ 1 10000001 0001000000000000000000 - اس طرح نمبر -4.25 کمپیوٹر کی میموری میں محفوظ ہوتا ہے۔ مثال 2۔ فلوٹ نمبر 0.75₁₀ کو کمپیوٹر میموری میں بائنری اسٹوریج فارمیٹ میں تبدیل کریں ۔ نتیجہ 0 01111110 1000000000000000000000 ہونا چاہئے ۔ توجہ کے لئے شکریہ.
تبصرے
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION