باب 3: مائیکرو پروسیسر میں بائنری نمبر آپریشنز

Bab 3 Mayykrw Prwsysr My Baynry Nmbr Apryshnz



باب 3: مائیکرو پروسیسر میں بائنری نمبر آپریشنز

3.1 تعارف

کمپیوٹر میں ریاضی کی کارروائیاں 8 بٹس، 16 بٹس، 32 بٹس یا 64 بٹس میں کی جاتی ہیں۔ بائنری میں 3 جیسا نمبر 11 ہے۔ اگر آپریشن 8 بٹس میں کیا جائے تو اسے 00000011 سمجھا جاتا ہے۔ اس سے پہلے 0 صفر کے ساتھ۔







10000101 جیسے بائنری نمبر کے لیے، سب سے اہم بٹ انتہائی بائیں طرف کا بٹ ہے۔ اس معاملے میں یہ 1 ہے۔ سب سے کم اہم بٹ دائیں جانب انتہائی بٹ ہے، جو کہ نمبر کے لیے ابھی بھی 1 ہے۔ سب سے اہم بٹ کو مختصراً MSB کہا جاتا ہے۔ کم سے کم اہم بٹ کو ایل ایس بی کہا جاتا ہے۔



بائنری ڈیجیٹ کو مختصراً BIT کہا جاتا ہے اور اسے صرف بٹ کے طور پر لکھا جاتا ہے۔ نمبر 10010011 میں، ہر ایک یا صفر تھوڑا سا ہے۔ چار بٹس کے گروپ کو نبل کہتے ہیں۔ آٹھ بٹس کے گروپ کو بائٹ کہتے ہیں۔ ایک بائٹ دو نبلوں پر مشتمل ہوتا ہے۔ نچلا نبل ایل ایس بی کے لیے نبل ہے اور اونچی نبل ایم ایس بی کے لیے نبل ہے۔



8 بٹس، 16 بٹس، 32 بٹس، یا 64 بٹس کے گروپ کو ایک لفظ کہا جاتا ہے، جب تک کہ وہ گروپ صرف ایک نمبر کی نشاندہی کرنے سے آگے معلومات فراہم کرتا ہے۔ گروپ کو ایک لفظ کہا جاتا ہے، مثال کے طور پر، اگر یہ کمپیوٹر میں کم درجے کی ہدایات ہے۔ 24 بٹس کا ایک لفظ بھی ہے لیکن آج کل عام طور پر استعمال نہیں ہوتا۔





Endianness سے مراد وہ ترتیب ہے جس میں بائٹس ایک لفظ بناتے ہیں۔ 24 بٹ لفظ پر غور کریں - 100100001111010100100010۔ یہ لفظ تین بائٹس پر مشتمل ہے جو یہ ہیں:

10010000 11110101 00100010



سب سے اہم بائٹ بائیں سب سے زیادہ بائٹ ہے۔ جب انتہائی بائیں طرف کا بائٹ سب سے اہم بائٹ ہوتا ہے اور انتہائی دائیں طرف کا بائٹ سب سے کم اہم بائٹ ہوتا ہے، تو اسے لفظ کی بگ اینڈین نمائندگی کہا جاتا ہے۔ لٹل اینڈین کی نمائندگی اس کے برعکس ہے۔

کمپیوٹر میموری سیلز کی ایک سیریز ہے، اور ہر سیل ایک بائٹ رکھتا ہے۔ کمپیوٹر کی میموری میں پہلا سیل بائٹ 0 کے لیے ہے، دوسرا بائٹ 1 کے لیے ہے، تیسرا بائٹ 2 کے لیے ہے، وغیرہ۔ بڑے اینڈیننس کے ساتھ اور پچھلے لفظ کے لیے، سب سے اہم بائٹ بائٹ 0 سیل میں محفوظ کیا جاتا ہے، درمیانی بائٹ بائٹ 1 سیل میں اور سب سے کم اہم بائٹ بائٹ 2 سیل میں محفوظ ہوتا ہے۔ اس کا مطلب یہ ہے کہ لوئر میموری سیل میں زیادہ اہم بائٹ ہیں۔

پچھلے 24 بٹ لفظ کو بائٹس کی الٹی ترتیب میں اس طرح لکھا جا سکتا ہے:

00100010 11110101 10010000

اب، سب سے کم اہم بائٹ انتہائی بائیں طرف ہے اور سب سے اہم بائٹ انتہائی دائیں طرف ہے۔ جب انتہائی بائیں طرف کا بائٹ سب سے کم اہم بائٹ ہوتا ہے اور انتہائی دائیں طرف کا بائٹ سب سے اہم بائٹ ہوتا ہے، یہ لفظ کی چھوٹی اینڈین نمائندگی ہے۔ تھوڑی دیر کے ساتھ اور پچھلے لفظ کے لیے، کم از کم اہم بائٹ بائٹ 0 سیل میں محفوظ کیا جاتا ہے، درمیانی بائٹ بائٹ 1 سیل میں اور سب سے اہم بائٹ بائٹ 2 سیل میں محفوظ ہوتا ہے۔ اس کا مطلب یہ ہے کہ لوئر میموری سیل میں کم اہم بائٹ ہے۔

Endianness بائٹ میں بٹس کے لیے استعمال نہیں ہوتا ہے۔ یہ بائٹ میں نبل کے لیے بھی استعمال نہیں ہوتا ہے۔ یہ صرف بائٹ آرڈر کے لیے استعمال ہوتا ہے۔

نمبر لائن
بغیر نشان کے ایک عدد مثبت نمبر ہے۔ مثبت اعداد صفر سے اوپر جانے والے اعداد ہیں۔ منفی نمبر بھی موجود ہیں۔ مثبت اور منفی اعداد کو نمبر لائن پر پیش کیا جا سکتا ہے۔ درج ذیل نمبر لائن صفر کے قریب مثبت اور منفی مکمل اعداد (انٹیجرز) کو ظاہر کرتی ہے:

منفی نمبر صفر سے نیچے کی طرف (بائیں طرف) کم ہوتے ہیں۔ بہت سے حالات میں، صفر کو مثبت سمجھا جاتا ہے۔ تاہم، بعض حالات میں اسے منفی سمجھا جاتا ہے۔ یہی وجہ ہے کہ زیرو کے آگے جمع اور مائنس کا نشان ہے، نچلے نمبر میں، خاکہ میں۔ جب کوئی عدد مثبت ہو تو اس کی علامت کو چھوڑا جا سکتا ہے۔ یہ ڈایاگرام میں اوپری نمبر کا معاملہ ہے۔ منفی نمبر کے سامنے مائنس کا نشان کبھی نہیں چھوڑا جاتا ہے۔

3.2 بائنری نمبرز کا اضافہ

اس کے علاوہ:

A + B = S

A کو augend، B کو addend کہا جاتا ہے، اور S کو sum کہا جاتا ہے۔

بیس دو میں دو مثبت نمبروں کے درج ذیل اضافے پر غور کریں:

بیس دو میں، صرف ممکنہ ہندسے 0 اور 1 ہیں۔ بیس 2 میں اضافہ بیس دس میں اضافے کی طرح ہے، لیکن بیس ٹو میں دو ایک صفر (10) ہیں۔ جب کالم میں دو بٹس کا مجموعہ 10 ہوتا ہے تو 0 لکھا جاتا ہے اور 1 کو فوری بائیں کالم میں لے جایا جاتا ہے۔ وہاں دو بٹس کے مجموعے میں شامل کیا جائے۔ جب کل ​​رقم تین ہوتی ہے تو اس کا مطلب بیس دو میں 11 ہوتا ہے۔ 11 میں دائیں 1 لکھا جاتا ہے اور بائیں 1 کو فوری بائیں کالم بٹس کے مجموعہ میں شامل کرنے کے لیے لے جایا جاتا ہے۔ دونوں صورتوں میں، 1 بائیں طرف لے جانے والے کو کیری کہا جاتا ہے۔

پچھلے اضافی جدول کو دائیں سے پڑھتے ہوئے، دوسرے کالم میں (دائیں سے)، ایک کیری ہے جس کا نتیجہ 1+1 = 10 ہے۔ تیسرے کالم میں، ایک کیری ہے جس کا نتیجہ 1+1+ کیری سے نکلتا ہے۔ 1 = 11. چوتھے کالم میں، ایک کیری ہے جس کا نتیجہ 0+1+ کیری 1 = 10 سے ہوتا ہے۔ پانچویں کالم میں، کوئی کیری نہیں ہے کیونکہ خلاصہ 0+0+ کیری 1 = 1 ہے۔ باقی کالموں میں کوئی کیری شامل نہیں ہے۔

کالم کی گنتی دائیں سرے سے شروع ہوتی ہے۔ 16 بٹ اضافے کے ساتھ، آٹھویں کالم سے نویں کالم تک لے جایا جا سکتا ہے (بائیں طرف بڑھنا)۔ مندرجہ ذیل جدول اس کی وضاحت کرتا ہے:

ریاضی اور منطق کی کارروائیاں کمپیوٹر کے مدر بورڈ پر مائکرو پروسیسر میں ہوتی ہیں۔

8 بٹ ورڈ کمپیوٹر کے لیے، کیری ہارڈ ویئر کے ذریعے خود بخود آٹھویں بٹ سے نویں بٹ تک نہیں جا سکتی۔ لہذا، اس طرح کے کمپیوٹر میں دو 16 بٹ گروپس کو شامل کرنے کے لیے، آٹھ آٹھ بٹ جوڑوں میں دو بار اضافہ کرنا ہوگا۔ کیری سافٹ ویئر (پروگرامنگ) کے ذریعہ منتقل اور متاثر ہوتی ہے۔

دو نمبروں کو شامل کرنے کے لیے، نمبرز کو شامل کرنے سے پہلے ان کے دو کی تکمیلی شکل میں تبدیل کیا جا سکتا ہے (نیچے دیکھیں)۔

3.3 دو کی تکمیل اور بائنری نمبرز کا اس کا گھٹانا

کمپیوٹر کے مدر بورڈ پر میموری ہے اور مائکرو پروسیسر اور دیگر سرکٹس ہیں۔ میموری آٹھ بٹ سیلز کی ایک سیریز ہے۔ ایک بائٹ کے لیے، ہر بٹ ایک سیل میں جاتا ہے۔ مائکرو پروسیسر میں میموری کی قسم کے چند مقامات ہوتے ہیں۔ میموری کی قسم کے ان مقامات کو رجسٹر کہا جاتا ہے۔ لہذا، کمپیوٹر میں، بائٹس کے گروپس کو عارضی طور پر میموری میں یا مائکرو پروسیسر کے رجسٹر میں محفوظ کیا جا سکتا ہے۔

ان میں سے کسی بھی ذخیرہ میں، ہر سیل یا تو 1 یا 0 لے سکتا ہے، اور کچھ نہیں۔ زندگی میں مثبت اور منفی نمبر ہوتے ہیں۔ ایک مثبت نمبر جمع کے نشان (+) سے شروع ہوتا ہے اور منفی نمبر منفی نشان (-) سے شروع ہوتا ہے۔ جب نشان کو چھوڑ دیا جاتا ہے، نمبر کو مثبت نمبر سمجھا جاتا ہے۔

کمپیوٹر میں کسی نمبر کی نشانی کی نشاندہی کرنے کے اس مسئلے کو حل کرنے کے لیے، پورے نمبر کو رینج میں محفوظ کیا جاتا ہے۔ پورے نمبر انٹیجرز ہیں۔ اگر آٹھ بٹس ممکنہ نمبروں کی رینج کو ذخیرہ کرنے کے لیے استعمال کیے جاتے ہیں، تو سب سے بائیں بٹ کو سائن بٹ کے طور پر استعمال کیا جاتا ہے۔ اگر نمبر 0 سے شروع ہوتا ہے، تو نمبر ایک مثبت نمبر ہے۔ اگر یہ 1 سے شروع ہوتا ہے، تو نمبر ایک منفی نمبر ہے۔ اگر سولہ بٹس کو ممکنہ نمبروں کی رینج کو ذخیرہ کرنے کے لیے استعمال کیا جاتا ہے، تو سب سے بائیں بٹ کو سائن بٹ کے طور پر استعمال کیا جاتا ہے۔ اگر نمبر 0 سے شروع ہوتا ہے، t نمبر ایک مثبت نمبر ہے۔ اگر یہ 1 سے شروع ہوتا ہے، تو نمبر ایک منفی نمبر ہے۔ اس فارم میں موجود نمبروں کو دستخط شدہ نمبر کہتے ہیں۔

عملی طور پر، 8 بٹس، 16 بٹس، 32 بٹس، اور 64 بٹس کے لیے دستخط شدہ نمبر ہوسکتے ہیں۔ بٹس کی جتنی وسیع تعداد استعمال کی جائے گی، ممکنہ نمبروں کی حد اتنی ہی زیادہ ہوگی جنہیں ذخیرہ کیا جا سکتا ہے۔

دو کے تکمیلی عدد
دو کی تکمیل کے ساتھ، مثبت اعداد عام گنتی کے اعداد ہیں، سوائے اس کے کہ سب سے بائیں ہندسہ 0 ہے۔ کسی بھی مثبت نمبر کے لیے متعلقہ منفی نمبر حاصل کرنے کے لیے، نمبر میں ہر بٹ کو الٹ دیں اور نتیجہ میں 1 کا اضافہ کریں۔ 0 کا الٹا یا تکمیل 1 ہے۔ 1 کا الٹا یا تکمیل 0 ہے۔ درج ذیل جدولیں ان کی حدود میں کچھ دو کے تکمیلی نمبر دکھاتی ہیں:

جدول 3.31
دو بٹس میں دو کے تکمیلی عدد
بائنری اعشاریہ
01 +1
00 +0
گیارہ -1
10 -2

مثبت بائنری نمبرز 00 اور 01 ہیں (یعنی صفر اور ایک)۔ سب سے بائیں حصے میں، صفر ظاہر کرتا ہے کہ وہ مثبت اعداد ہیں۔ 00 کسی حد تک حد کے وسط میں ہے۔ -1 حاصل کرنے کے لیے، نمبر 01 کا الٹا 10 پایا جاتا ہے۔ اس میں (انتہائی دائیں طرف) 1 کو شامل کرنے سے 11 ملتا ہے۔

چونکہ دو بٹس استعمال کیے جاتے ہیں، اس حد میں نمبروں کی نمائندگی کرنے کے لیے صرف ایک بٹ رہ جاتا ہے جو کہ نمبرز +1، +0، اور -1 پر مشتمل ہوتا ہے جو 01، 00، اور 11 سے مطابقت رکھتا ہے۔ پہلا بٹ نشان کی نشاندہی کرتا ہے۔ ایسا ہوتا ہے کہ +2 کے لیے 10 ان تین بائنری نمبروں میں سے نہیں ہے۔ 10 کا آغاز 1 سے ہوتا ہے جس کا مطلب ہے کہ یہ دو کی تکمیل میں منفی نمبر ہونا چاہیے۔ لہذا، 10 کو رینج میں شامل کیا گیا ہے، یعنی -2۔

دو کی تکمیل میں دو بٹس کے ساتھ، تمام عدد (مثبت اور منفی) کی تعداد جن کی نمائندگی کی جا سکتی ہے 2 ہے 2 = 4 اور 2 نہیں۔ 2 -1 = 3. آخری منفی نمبر کے شامل ہونے سے نزاکت کا نتیجہ ہے جو 2 کا منفی ہے نمبر کے ساتھ - 1. اس معاملے میں، -2 2-1 = -2 1 = -2. 2 بٹس میں دو کے تکمیلی نمبروں کی حد میں کوئی +2 نہیں ہے۔

جدول 3.32
دو کے تکمیلی عدد چار بٹس میں
بائنری اعشاریہ
0111 +7
0110 +6
0101 +5
0100 +4
0011 +3
0010 +2
0001 +1
0000 +0
1111 -1
1110 1110
1101 -3
1101 -3
1100 -4
1011 -5
1010 -6
1001 1001
1000 -8

مثبت بائنری نمبرز 0000 سے 0111 تک ہیں (یعنی صفر سے سات تک)۔ سب سے بائیں حصے میں، صفر ظاہر کرتا ہے کہ وہ مثبت اعداد ہیں۔ 0000 کسی حد تک حد کے وسط میں ہے۔ -1 حاصل کرنے کے لیے، نمبر 0001 کا الٹا 1110 پایا جاتا ہے۔ اس میں (انتہائی دائیں طرف) 1 کو شامل کرنے سے 1111 ملتا ہے۔ -2 حاصل کرنے کے لیے، 0010 کا الٹا 1101 پایا جاتا ہے۔ اس میں 1 کا اضافہ کرنا ( انتہائی دائیں طرف سے) 1110 دیتا ہے۔ دوسرے منفی بائنری نمبر جیسے -3 سے -7 کا تعین اسی طرح کیا جاتا ہے۔

چونکہ چار بٹس استعمال ہوتے ہیں، رینج میں نمبروں کی نمائندگی کے لیے تین بٹس رہ جاتے ہیں جو کہ +7، +6، +5، +4، +3، +2، +1، +0، -1، -2، - 3، -4، -5، -6 اور -7 جو کہ 0111، 0110، 0101، 0100، 0011، 0010، 0001، 0000، 1111، 1110، 1101، 1100، 1010، 1010، اور

-8 جو 1000 کے مساوی ہے کو الگ سے خطاب کرنا ہوگا۔ ان تمام نمبروں کے لیے پہلا بٹ مثبت نمبروں کے لیے 0 اور منفی نمبروں کے لیے 1 کا نشان ظاہر کرتا ہے۔ ایسا ہوتا ہے کہ 1000 ان چودہ بائنری نمبروں میں سے نہیں ہے۔ 1000 1 سے شروع ہوتا ہے جس کا مطلب ہے کہ یہ ایک منفی نمبر ہونا چاہیے، جہاں تک دو کی تکمیل کا تعلق ہے۔ لہذا، 1000 کو رینج میں شامل کیا گیا ہے، یعنی -8۔

دو کی تکمیل میں چار بٹس کے ساتھ، تمام انٹیجرز (مثبت اور منفی) کی تعداد جن کی نمائندگی کی جا سکتی ہے 2 ہے 4 = 16 اور 2 نہیں۔ 4 - 1 = 15. آخری منفی نمبر کے شامل ہونے سے نزاکت کا نتیجہ نکلتا ہے جو 2 کا منفی ہے نمبر چوڑائی - 1. اس معاملے میں، -2 4 -1 = -2 3 = -8۔ نمبروں کی حد میں کوئی +8 نہیں ہے۔

دو کی تکمیل میں دو، چار اور وسیع بٹس کے لیے پچھلے تجزیہ کو 8 بٹس، 16 بٹس، 32 بٹس، اور 64 بٹس وسیع بائنری نمبرز پر لاگو کیا جا سکتا ہے۔

دو کی تکمیل مثبت نمبر کے لیے 0 اور منفی نمبر کے لیے 1 کے نشان کے لیے پہلے (بائیں سے) بٹ کو قربان کرتی ہے۔ بٹس کے 'n' بٹ وسیع گروپ کے لیے، 2 ہیں۔ n کل مثبت جمع منفی نمبر۔ یہ 2 ہوگا۔ n -1، کیا یہ خوش قسمت آخری (سب سے چھوٹا) منفی نمبر شامل نہیں تھا۔ سب سے زیادہ مثبت نمبر +2 ہے۔ n-1 -1 اور سب سے چھوٹا منفی نمبر -2 ہے۔ n-1 -1۔ یہ -2 ہوگا۔ n-1 -1، اگر یہ خوش قسمت کے لیے نہ ہوتا -2 n-1 شامل

دو کی تکمیل میں نمبروں کو گھٹانا
گھٹاؤ میں:

A - B = D

A کو Minuend کہا جاتا ہے، B کو subtrahend کہا جاتا ہے، اور D کو فرق کہا جاتا ہے۔

ایک مثبت بائنری نمبر کو دوسرے مثبت بائنری نمبر سے گھٹانے کے لیے، minuend دو کی تکمیل میں لکھا جاتا ہے اور subtrahend کو اس کے منفی دو کی تکمیلی قدر میں تبدیل کیا جاتا ہے۔ تو، ریاضیاتی بیان بن جاتا ہے:

A+ - B = D

دوسرے لفظوں میں، دو کے تکمیلی گھٹاؤ میں، سبٹرا ہینڈ کو منفی نمبر میں تبدیل کیا جاتا ہے اور پھر مائنس میں شامل کیا جاتا ہے۔

مثال 3.31:
چار بٹس کا استعمال کرتے ہوئے دو کی تکمیل میں درج ذیل اعشاریہ اظہار کا اندازہ کریں:

6 – 4

حل:
6 کا بائنری نمبر 110 ہے۔ 4 بٹ ٹو کے کمپلیمنٹ میں یہ 0110 ہے۔ +4 کا بائنری نمبر 100 ہے۔ 4 بٹ ٹو کے کمپلیمنٹ میں یہ 0100 ہے۔ 0100 ہے جسے دو میں منفی 4 میں تبدیل کرنا ہے۔ مندرجہ ذیل طور پر تکمیل: 0100 کی تکمیل یا الٹا 1011 ہے۔ دائیں سرے سے اس میں 1 کا اضافہ کرنے سے، جیسا کہ ہم نے اس کے علاوہ کیا، 1100 ملتا ہے۔ لہذا، اعشاریہ اظہار ہے:

6-4 جو بنتا ہے:

0110 - 0100 جو ہے۔

0110 +(– 0100) = 0110 + 1100 کیا گیا جیسا کہ پچھلے اضافے والے حصے میں:

نوٹ: 0110 + (– 0100) 6 + – 4 ​​کے برابر ہے۔

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

6 – 4 = 2

دو کی تکمیل میں ایک ہی کام کرنے سے، جواب 0010 ہے جو دو کی تکمیلی بائنری گنتی میں +2 ہے۔ پچھلا تفریق بڑی تعداد سے چھوٹی تعداد کو گھٹاتا ہے۔ مندرجہ ذیل مثال میں، ایک بڑی تعداد کو چھوٹی تعداد سے منہا کیا جاتا ہے۔ یہ دیکھنے کے لیے ٹیبل 3.32 سے مشورہ کیا جا سکتا ہے کہ آیا 0010 واقعی دو کی تکمیل ہے جو +2 کے برابر ہے۔

مثال 3.32:
دو کی تکمیل میں درج ذیل اعشاریہ کے اظہار کو چار بٹس کے ساتھ جانچیں:

4 – 6

حل:
4 کے لیے بائنری نمبر 100 ہے۔ 4 بٹ دو کی تکمیل میں، یہ 0100 ہے۔ +6 کے لیے بائنری نمبر 110 ہے۔ 4 بٹ دو کے تکمیل میں، یہ 0110 ہے۔ 0110 کو دو کے تکمیل میں منفی 6 میں تبدیل کرنا ہوگا۔ حسب ذیل: 0110 کا تکمیلی یا الٹا 1001 ہے۔ دائیں سرے سے اس میں 1 کا اضافہ کرنے سے، جیسا کہ ہم نے پچھلے اضافے میں کیا تھا، 1010 ملتا ہے۔ لہذا، اعشاریہ کا اظہار ہے:

4-6 جو بنتا ہے:

0100 - 0110 جو ہے۔

0100 +(– 0110) = 0100 + 1010 جیسا کہ پچھلے اضافے والے حصے میں کیا گیا ہے جیسا کہ:

نوٹ: 4+ - 6 0100 + (- 0110) کے برابر ہے۔

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

4 – 6 = -2

دو کی تکمیل میں ایک ہی کام کرنے سے، جواب 1110 ہے جو دو کی تکمیلی بائنری گنتی میں -2 ہے۔ ٹیبل 3.32 سے یہ دیکھنے کے لیے مشورہ کیا جا سکتا ہے کہ آیا 1110 واقعی دو کی تکمیل ہے جو -2 کے برابر ہے۔

3.4 بائنری نمبرز کا ضرب

بیان میں:

A x B = P

A کو ضارب کہا جاتا ہے، B کو ضارب کہا جاتا ہے، اور P کو مصنوعہ کہا جاتا ہے۔ A x B ایکسپریشن کا مطلب ہے A، B تعداد کو اس وقت شامل کرنا جب A اور B عددی عدد (پورے نمبر) ہوں۔

بائنری میں ضرب اعشاریہ میں ضرب کے برابر ہے۔ تاہم، اسے اعشاریہ میں کرنے کے بجائے، بائنری میں کیا جاتا ہے۔ 42 x 10 کے اعشاری اظہار کی ضرب بائنری میں اس طرح کی جاتی ہے جہاں 42 10 = 101010 2 اور 10 10 = 1010 2 :

4 نمبر جو شامل کیے جاتے ہیں انہیں جزوی مصنوعات کہا جاتا ہے۔ جواب مصنوعات ہے. جزوی مصنوعات کا اضافہ اسی طرح کیا جاتا ہے جیسا کہ پہلے بیان کیا گیا ہے۔

ضرب کو مندرجہ ذیل طور پر بھی دیکھا جا سکتا ہے: اس بیس دو ضرب میں، اگر ضرب میں بٹ (ڈیجٹ) 1 ہے، تو اس کے جزوی مصنوع کا کم از کم اہم بٹ ضرب کا سب سے کم اہم بٹ ہے جو براہ راست اس کے نیچے دوبارہ ٹائپ کیا جاتا ہے۔ اور ضرب کے باقی بٹس بائیں طرف دہرائے جاتے ہیں۔ اس بیس دو ضرب میں، اگر ضرب میں بٹ (ڈیجٹ) 0 ہے، تو اس کی جزوی مصنوع 0 پر مشتمل ہوتی ہے جس کے نیچے براہ راست 0 کا کم سے کم اہم بٹ ہوتا ہے۔ تمام زیرو کی تعداد ضرب میں بٹس کی تعداد ہے۔

3.5 بائنری نمبرز کی تقسیم

بیان میں:

A ÷ B = Q

A کو ڈیویڈنڈ کہا جاتا ہے، B کو تقسیم کرنے والا، اور P کو Quotient کہا جاتا ہے۔ حصہ بقیہ کے ساتھ ہو سکتا ہے۔ A ÷ B اظہار کا مطلب ہے کہ A دینے کے لیے B کو کتنی بار شامل کیا جا سکتا ہے یا اس کے قریب اس طرح کہ بقیہ 0 یا B سے کم ہو۔

تقسیم کئی طریقوں سے کی جا سکتی ہے۔ یہاں جو تقسیم دکھائی گئی ہے وہ بحالی کی تقسیم ہے۔

ڈویژن کی بحالی
یہ طویل تقسیم کا طریقہ ہے جو اسکولوں میں سیکھا جاتا ہے۔ اگر 237 کو 6 سے تقسیم کیا جائے تو جواب 39 باقی ہے 3۔ 237 10 بیس 2 میں 11101101 ہے۔ 2 اور 6 10 بیس 2 میں 110 ہے۔ 2 . 39 10 بیس 2 میں 100111 ہے۔ 2 اور 3 10 بیس 2 میں 11 ہے۔ 2 .

تو، 11101101 2 110 سے تقسیم 2 100111 دیتا ہے۔ 2 باقی 11 2 بیس دو میں. بحالی کے طریقہ کار کے ساتھ، بائنری نمبرز عام نمبر ہیں اور ضروری نہیں کہ وہ دو کی تکمیل میں ہوں۔ درج ذیل ڈھانچہ 11101101 کو تقسیم کرتا ہے۔ 2 110 کی طرف سے 2 100111 دینے کے لیے 2 باقی 11 2 :

گھٹاؤ عام طور پر کیا جاتا ہے نہ کہ دو کی تکمیل کا استعمال کرکے۔ چونکہ یہ بیس دو ہے، ایک ادھار دو ہے دس نہیں ہے۔ جزوی منافع 10، 101، 1011، 1010، اور 1001 ہیں۔ 11 باقی ہے۔ چونکہ تقسیم کرنے والے کے تین ہندسے ہوتے ہیں، اس لیے تقسیم بنیادی طور پر دیے گئے ڈیویڈنڈ سے تین ہندسوں کے گروپوں میں کی جاتی ہے۔ حصہ پوری تعداد (انٹیجر) ہے، اور اس مسئلے کے لیے یہ 100111 ہے۔ حصہ اور بقایا نتیجہ توقع کے مطابق ہے۔

3.6 سافٹ ویئر اور ہارڈ ویئر کے ساتھ ریاضی کی کارروائیاں

کمپیوٹر مدر بورڈ میں ایک گھڑی ہوتی ہے۔ گھڑی کی ٹک ٹک کو دال کہتے ہیں۔ ہر گھڑی کی نبض پر، مدر بورڈ پر مختلف جگہوں پر ایک یا زیادہ فیصلے لیے جاتے ہیں۔ اور اس کا تعلق پروگرامنگ (سافٹ ویئر) سے ہے۔

مائیکرو پروسیسر کے اندر، دو قسم کے سرکٹس ہوتے ہیں جنہیں کہتے ہیں: Combinational Logic Circuits اور Sequential Logic Circuits۔ ایک اور قسم کا سرکٹ ہے جسے ملٹی پلیکسر کہتے ہیں۔ مجموعہ منطق (سرکٹ) کا استعمال کرتے ہوئے اضافہ، ضرب، اور تقسیم ایک گھڑی کے وقفے میں ہو سکتا ہے۔ جبکہ پروگرامنگ (سافٹ ویئر) ترتیب وار منطق سرکٹس اور ملٹی پلیکسرز کا استعمال کرتے ہوئے ہر گھڑی کی نبض پر فیصلہ کرتا ہے۔

جب دو کی تکمیل کا استعمال کرتے ہوئے گھٹاؤ کیا جاتا ہے، تو کم از کم دو گھڑی کی دالیں ضروری ہوتی ہیں۔ پہلی گھڑی کی نبض پر، ایک ملٹی پلیکسر سبٹرا ہینڈ کو NOT گیٹس کے ایک سیٹ پر چینل کرتا ہے (ایک عدد نہیں گیٹ فی ہندسہ)۔ دوسری گھڑی کی نبض پر، امتزاج منطق NOT گیٹس کے آؤٹ پٹ میں 1 کا اضافہ کرتی ہے اور نتیجے میں آنے والے ذیلی حصے اور مائنس کو شامل کرتی رہتی ہے۔ یہ تمام اضافہ ایک گھڑی کے وقفے میں ہو سکتا ہے۔

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

3.7 مائیکرو پروسیسر میں لاجک آپریشنز

اور، یا، XOR، اور الٹا

اور
درج ذیل جدول Bitwise AND کی وضاحت کرتا ہے۔ اس کا مطلب یہ ہے کہ دو مختلف بائنری نمبرز کے لیے، متعلقہ بٹس کو AND Truth ٹیبل کی بنیاد پر ANDed کیا جاتا ہے:

بائیں سے دائیں منتقل، 1 اور 1 = 1؛ 0 اور 1 = 0; 0 اور 0 = 0; 1 اور 0 = 0; اور اسی طرح اور سچ ٹیبل کے مطابق۔

یا
درج ذیل جدول Bitwise OR کی وضاحت کرتا ہے۔ اس کا مطلب ہے کہ دو مختلف بائنری نمبرز کے لیے، متعلقہ بٹس کو OR Truth ٹیبل کی بنیاد پر ORed کیا جاتا ہے:

بائیں سے دائیں منتقل، 1 یا 1 = 1؛ 0 یا 1 = 1; 0 یا 0 = 0; 1 یا 0 = 1; اور اسی طرح OR سچ ٹیبل کے مطابق۔

مفت
درج ذیل جدول Bitwise exclusive-OR کی وضاحت کرتا ہے۔ اس کا مطلب ہے کہ دو مختلف بائنری نمبرز کے لیے، متعلقہ بٹس XOR Truth ٹیبل کی بنیاد پر XORed ہیں:

بائیں سے دائیں منتقل، 1 XOR 1 = 0؛ 0 XOR 1 = 1; 0 XOR 0 = 0; 1 XOR 0 = 1; اور اسی طرح XOR ٹروتھ ٹیبل کے مطابق۔

الٹا (نہیں)
مندرجہ ذیل جدول Bitwise NOT (invert) کی وضاحت کرتا ہے۔ اس کا مطلب یہ ہے کہ ایک بائنری نمبر کے لیے، اس بار، ہر بٹ کو NOT Truth Table کی بنیاد پر الٹا دیا گیا ہے:

بائیں سے دائیں منتقل، 1 = 0 نہیں؛ نہیں 0 = 1; نہیں 0 = 1; نہیں 1 = 0; اور اسی طرح NOT Truth Table کے مطابق۔

دائیں یا بائیں شفٹ کرنا

دائیں شفٹ کریں۔
درج ذیل بائنری نمبر کو 3 بٹ پوزیشنز کو دائیں طرف منتقل کر دیا گیا ہے، جس میں صفر کو بائیں جانب خالی بٹ پوزیشنوں میں داخل کیا گیا ہے۔

شفٹنگ ایک، دو، تین، چار، وغیرہ جگہوں پر کی جا سکتی ہے۔

بائیں شفٹ کریں۔
درج ذیل بائنری نمبر کو 3 بٹ پوزیشنز بائیں طرف منتقل کر دیا گیا ہے، دائیں جانب خالی بٹ پوزیشنز میں زیرو ڈالے گئے ہیں۔

شفٹنگ ایک، دو، تین، چار، وغیرہ جگہوں پر کی جا سکتی ہے۔

دائیں یا بائیں گھومنا

گھومنا شفٹنگ کے مترادف ہے۔ یہ ایک وقت میں تھوڑا سا کیا جاتا ہے۔ دائیں گھومنے پر، دائیں سرے کو چھوڑنے والے بٹس شفٹنگ کی طرح گرتے نہیں ہیں۔ وہ ایک ایک کرکے بائیں جانب خالی بٹس کو تبدیل کرتے ہیں۔ بائیں طرف گھومنے پر، بٹس جو بائیں سرے کو چھوڑتے ہیں وہ نہیں گرتے ہیں جیسے شفٹنگ میں؛ وہ ایک ایک کرکے دائیں جانب خالی بٹس کی جگہ لے لیتے ہیں۔

دائیں گھمائیں۔
درج ذیل بائنری نمبر کو 3 بٹ پوزیشنوں پر دائیں طرف گھمایا جاتا ہے:

گھومنے کو ایک، دو، تین، چار، وغیرہ جگہوں کے لیے کیا جا سکتا ہے۔

بائیں گھماؤ
درج ذیل بائنری نمبر کو 3 بٹ پوزیشنوں پر بائیں طرف گھمایا جاتا ہے:

گھومنے کو ایک، دو، تین، چار، وغیرہ جگہوں کے لیے کیا جا سکتا ہے۔

3.8 ASCII کریکٹر سیٹ اور اس کی کوڈ ویلیوز

ASCII کا مطلب ہے 'امریکن (یو ایس اے) اسٹینڈرڈ کوڈ فار انفارمیشن انٹرچینج'۔ 96 کلیدوں والے کی بورڈ کا تصور کریں۔ یہ ایک مثالی کی بورڈ ہے جہاں بڑے حروف کی چابیاں چھوٹے حروف کی چابیاں سے مختلف ہوتی ہیں۔ ہر دوسری کلید ایک ایسے کردار کی نمائندگی کرتی ہے جو انگریزی (US.A) کی بورڈ پر پایا جاتا ہے۔ حروف اور کوڈ (حروف کے لئے متعلقہ نمبر) درج ذیل میں درج ہیں:

اس جدول میں، پہلے 32 حروف (بشمول 00 والا کردار 16 = 0 10 کوڈ) غیر پرنٹنگ حروف ہیں۔ وہ کنٹرول کردار ہیں۔ وہ اسکرین (مانیٹر) پر نظر نہیں آتے جہاں سب کچھ برابر ہوتا ہے۔ ان کے صرف اثرات ہوتے ہیں۔ آئیے اس پر بعد میں مزید بات کرتے ہیں۔

باقی حروف پرنٹنگ کریکٹر ہیں؛ وہ اسکرین پر نظر آتے ہیں. 128 ASCII حروف ہیں۔ 2 7 = 128. 1,111,111 2 = 127 10 . 2 میں 7 7 مطلب 7 بٹس۔

اب، 1111111 2 + 1 2 ویسا ہی ہے جیسا:

یہاں، 10,000,000 2 = 128 10 . 128 ہیں۔ 10 ASCII حروف کی پچھلی فہرست (ٹیبل) میں حروف۔ اس میں کالعدم کریکٹر شامل ہے، جس کا کوڈ بیس سولہ (ہیکساڈیسیمل) میں 00 ہے، جو بیس دس میں 0 کے برابر ہے۔

چونکہ کل 128 حروف ہیں، 128 منفی 32 غیر پرنٹنگ حروف 96 پرنٹنگ حروف دیتے ہیں۔ اس سیکشن میں، یہ فرض کیا گیا ہے کہ 96 حروف کے ساتھ ایک مثالی کی بورڈ ہے جو پرنٹ کے قابل حروف ہیں۔ اس مثالی کی بورڈ پر، بڑے انگریزی حروف کی کلیدیں چھوٹے انگریزی حروف کی کلیدوں سے مختلف ہیں۔

کی بورڈ پر ہر کریکٹر کو 7 بٹس کے ایک بیس نمبر کے ذریعے دکھایا گیا ہے جو فہرست میں نہیں دکھائے گئے ہیں۔ مثال کے طور پر 'N' کے بڑے حروف کی نمائندگی بیس 2 میں سات بٹس 1001110 سے ہوتی ہے۔ 1001110 کو تبدیل کرنے کے لیے 2 بیس 16 پر، اس سے پہلے 0 اور نتیجہ کو چار بٹ ذیلی گروپس میں گروپ کریں:

| 0100 | 1110 | 2 = | 4 | ای | 16

یعنی 01001110 2 = 4E 16 . 4E کو تبدیل کرنے کے لیے 16 بیس بیس کے لیے، درج ذیل کریں:

4 x (16) 1 + E x (16) 0 = 4 x 16 + E x 1 = 4 x 16 + 14 x 1 = 64 + 14 = 78 10

فہرست (ٹیبل) میں 'N' کے دائیں طرف 4E کا ہیکساڈیسیمل نمبر اور 78 کا اعشاریہ نمبر ہے۔

ایک اور مثال کے طور پر، '[' کیریکٹر کی نمائندگی بیس 2 میں سات بٹس 1011011 سے ہوتی ہے۔ 1011011 کو تبدیل کرنے کے لیے 2 بیس 16 پر، اس سے پہلے 0 اور نتیجہ کو چار بٹ ذیلی گروپس میں گروپ کریں:

| 0101 | 1011 | 2 = | 5 | ب | 16

یعنی 01011011 2 = 5B 16 . 5B16 کو بیس دس میں تبدیل کرنے کے لیے، درج ذیل کام کریں:

5 x (16) 1 + B x (16) 0 = 5 x 16 + B x 1 = 5 x 16 + 11 x 1 = 80 + 11 = 91 10

فہرست (ٹیبل) میں '[' کے دائیں طرف 5B کا ہیکساڈیسیمل نمبر اور 91 کا اعشاریہ نمبر ہے۔

ایک اور مثال کے طور پر، '5' کے اعشاریہ نمبر کے کردار کو بیس 2 میں سات بٹس 0110101 سے ظاہر کیا گیا ہے، اور نہیں بیس 2 میں 0000101۔ 0110101 کو تبدیل کرنے کے لیے 2 بیس 16 پر، اس سے پہلے 0 اور نتیجہ کو چار بٹ ذیلی گروپس میں گروپ کریں:

| 0011 | 0101 | 2 = | 5 | ب | 16

یعنی 00110101 2 = 35 16 . 3516 کو بیس دس میں تبدیل کرنے کے لیے درج ذیل کام کریں:

3 x (16) 1 + 5 x (16) 0 = 3 x 16 + 5 x 1 = 3 x 16 + 5 x 1 = 48 + 5 = 53 10

فہرست (ٹیبل) میں '5' کے دائیں طرف 35 کا ہیکساڈیسیمل نمبر اور 53 کا اعشاریہ نمبر ہے۔

چونکہ کمپیوٹر بائٹس میں کام کرتا ہے، جب مثالی کی بورڈ پر ایک کلید دبائی جاتی ہے، آٹھ بٹس مائیکرو پروسیسر (مدر بورڈ) کو بھیجے جاتے ہیں۔ مثالی کی بورڈ ایک پیریفرل ہے جو کمپیوٹر کے سسٹم (بیس) یونٹ سے الگ ہوتا ہے۔ اس میں ایک الیکٹرانک سرکٹ (IC) ہے جو سات بٹس بناتا ہے اور اسے اپنے کیبل کے ذریعے سسٹم یونٹ کے مدر بورڈ پر بھیجنے سے پہلے صفر کے ساتھ آگے آتا ہے۔ مدر بورڈ کے ان پٹ پورٹ (ان پٹ سرکٹ) سے یہ مائیکرو پروسیسر تک جاتا ہے جو مدر بورڈ پر بھی ہوتا ہے۔ مائیکرو پروسیسر سے یہ میموری میں جاتا ہے جو مدر بورڈ پر بھی نصب ہوتا ہے۔

لہذا، جب مثالی کی بورڈ پر 'N' کی کو دبایا جاتا ہے، آٹھ بٹس 01001110 مائکرو پروسیسر پر لے جایا جاتا ہے۔ مائکرو پروسیسر سے، انہیں میموری پر لے جایا جاتا ہے جہاں وہ بائٹ کے طور پر میموری کے مقام پر رہتے ہیں۔ کمپیوٹر پروگرامر کو یہ بات ذہن میں رکھنی چاہیے کہ 01001110 کے آٹھ بٹس 2 4E جیسا ہی ہے۔ 16 جو کہ 78 کے برابر ہے۔ 10 .

جب مثالی کی بورڈ پر '['کی دبائی جاتی ہے، آٹھ بٹس 01011011 مائیکرو پروسیسر پر لے جایا جاتا ہے۔ مائکرو پروسیسر سے، انہیں میموری پر لے جایا جاتا ہے جہاں وہ بائٹ کے طور پر میموری کے مقام پر رہتے ہیں۔ کمپیوٹر پروگرامر کو یہ بات ذہن میں رکھنی چاہیے کہ 01011011 کے آٹھ بٹس 2 5B کے برابر ہے۔ 16 جو کہ 91 کے برابر ہے۔ 10 .

جب مثالی کی بورڈ پر '5' کلید دبائی جاتی ہے، ایک کریکٹر کے طور پر نہ کہ اعشاریہ نمبر کے طور پر، آٹھ بٹس 00110101 کو مائکرو پروسیسر پر لے جایا جاتا ہے۔ مائکرو پروسیسر سے، انہیں میموری پر لے جایا جاتا ہے جہاں وہ بائٹ کے طور پر میموری کے مقام پر رہتے ہیں۔ کمپیوٹر پروگرامر کو ذہن میں رکھنا چاہیے کہ 00110101 کے آٹھ بٹس 2 35 کے برابر ہے۔ 16 جو کہ 5310 کے برابر ہے۔ 10 .

ایسے اوقات ہوتے ہیں جب ایک پروگرام چل رہا ہوتا ہے اور کمپیوٹر میں 5 کے اعشاریہ نمبر کے داخل ہونے کا انتظار کرتا ہے۔ اس صورت حال میں اگر مثالی کی بورڈ پر '5' کلید کو دبایا جائے تو پھر بھی 00110101 کا آٹھ بٹ کوڈ مائیکرو پروسیسر پر لے جایا جاتا ہے۔ چونکہ جس چیز کی ضرورت ہے وہ 5 کا اعشاریہ نمبر ہے، نہ کہ '5' کریکٹر کی، اس لیے میموری سے کوڈ کا ایک ٹکڑا (مختصر پروگرام) مائیکرو پروسیسر کا استعمال کرتا ہے تاکہ بیس ٹو میں 00110101 کے کریکٹر کوڈ کو دو کے تکمیلی نمبر 00000101 میں تبدیل کیا جا سکے۔ 2 اسے دو کے تکمیلی بائٹ کے طور پر میموری والے مقام پر بھیجنے سے پہلے۔ کمپیوٹر پروگرامر کو ذہن میں رکھنا ہوگا کہ 00000101 کا مطلب ہے 5 10 بیس 2 میں، اور یہ 00110101 کے کوڈ نمبروں سے مختلف ہے۔ 2 ، 35 16 ، اور 53 10 جس کا مطلب ہے '5' کا کردار۔ میموری میں دو کے تکمیلی نمبر 00000101 کو ظاہر کرنے کے لیے، ایک اور مختصر پروگرام کو 00000101 کو میموری سے 00110101 میں تبدیل کرنا ہوگا۔ یہ 00110101 ہے جو کہ 35 کے برابر ہے۔ 16 جو کہ 53 کے برابر ہے۔ 10 جو مانیٹر پر ظاہر ہوتا ہے (یا پرنٹر کے ذریعہ کاغذ پر پرنٹ کیا جاتا ہے)۔

3.9 فلوٹنگ پوائنٹ نمبر فارمیٹ

اعشاریہ کے بغیر عدد ایک عدد عدد ہے۔ نمبر 36 ایک عدد عدد ہے۔ 36.375 ایک عدد عدد نہیں ہے۔ یہ ایک اعشاریہ نمبر ہے جس میں اعشاریہ حصہ ہے۔ .375 کا اعشاریہ ایک حصہ ہے جو 1 سے کم ہے۔

36.375 کو اعشاریہ کی شکل میں اس طرح سمجھا جاتا ہے:

ابھی:

تو، 100100 2 = 3610 جو کہ 36.375 کا پورا نمبر حصہ ہے۔ 10 .

ابھی:

تو، 0.011 2 = 0.375 10 جو 36.375 کا اعشاریہ نمبر حصہ ہے۔ 10 .

∴ 36,375 10 = 100100.011 2

اسے دوسرے طریقے سے رکھو:

100100.011 2 = 36,375 10

اعداد کو کمپیوٹر میں بیس 2 میں دکھایا جاتا ہے نہ کہ بیس 10 میں، ہر چیز کے برابر ہونے کے ساتھ۔ چونکہ مائیکرو پروسیسر کے رجسٹر میں موجود سیل یا میموری میں ایک سیل صرف 1 یا 0 لے سکتا ہے، اس لیے اعشاریہ کو ذخیرہ کرنے کی کوئی گنجائش نہیں ہے۔ یہ ایک مسئلہ پیدا کرتا ہے۔ ریزولیوشن کے طور پر، IEEE-754 سنگل پریزین 32-بٹ فلوٹنگ پوائنٹ کی نمائندگی اور IEEE-754 ڈبل پریسجن 64-بٹ فلوٹنگ پوائنٹ کی نمائندگی ہے۔

32 بٹ فلوٹنگ پوائنٹ نمبر فارمیٹ
نمبر 100100.0112 کو اس طرح ظاہر کیا جا سکتا ہے:

100100.011 2 = 1.00100011 2 x 2 +5

= علامت کے دائیں ہاتھ کو ریاضی میں 100100.011 کے بائیں ہاتھ کی بنیادی دو معیاری شکل کے طور پر کہا جاتا ہے۔ 2 .

اب، 00100011 از 1.00100011 2 = علامت کے دائیں طرف، بغیر پچھلے '1' کے۔ اور بیس کے لیے 2 کے بغیر، واضح اہمیت کہلاتا ہے۔ اس صورت میں، '1' رکھنے کے لیے بائنری پوائنٹ کو پانچ جگہ بائیں طرف لے جایا جاتا ہے۔ ڈیسیمل پوائنٹ اور بائنری پوائنٹ کے درمیان الجھاؤ نہ کریں۔ بائنری پوائنٹ بیس 2 کے لیے ہے، جبکہ ڈیسیمل پوائنٹ بیس 10 کے لیے ہے۔ '1۔' اس کے بعد = علامت کے دائیں طرف 00100011، بیس کے لیے 2 کے بغیر، حقیقی اہمیت کو بناتا ہے۔ تاہم، 1.00100011 کو مضمر اہمیت کہا جاتا ہے۔

اہمیت کے بعد دائیں طرف 'x 2' ہے۔ +5 ' اظہار. اس اظہار کے ساتھ، +5 کو ایکسپوننٹ کہا جاتا ہے۔ جمع کے نشان کا مطلب یہ ہے کہ بائنری پوائنٹ کو اس کی عام اصل پوزیشن پر رہنے کے لیے پانچ جگہ آگے بڑھانا ہوگا اور نمبرنگ کی بنیاد 2 ہے۔ پچھلی مساوات کو ریورس میں اس طرح لکھا جا سکتا ہے:

1.00100011 2 x 2 +5 = 100100.011 2

32 بٹ فلوٹنگ پوائنٹ کی نمائندگی کے ساتھ، یہ '1.00100011' ہے۔ 2 x 2 +5 'جو استعمال کیا جاتا ہے اور نہ صرف '100100.011 2 ' بیس کے لیے 2 ریکارڈ نہیں کیا گیا ہے۔ 1.00100011 کے لیے 32 بٹ فلوٹنگ پوائنٹ کی نمائندگی 2 x 2 +5 نمبر، جو 36.375 کے برابر ہے۔ 10 = 100100.011 2 مندرجہ ذیل جدول میں دکھایا گیا ہے:

32 بٹ پوزیشنیں ہیں جن کو دائیں سرے سے نمبر دیا جاتا ہے، 0 سے شروع ہوتا ہے۔ بائیں سرے پر پہلا بٹ سائن بٹ ہے۔ اگر نمبر مثبت ہے، تو یہ بٹ 0 ہے۔ اگر نمبر منفی ہے، تو یہ بٹ 1 ہے (-1 دو حروف پر مشتمل ہے اور کسی ایک سیل میں نہیں ڈالا جا سکتا)۔ 1.00100011 2 x 2 +5 جو کہ 36.375 کے برابر ہے۔ 10 جو کہ 100100.011 کے برابر بھی ہے۔ 2 ایک مثبت نمبر ہے۔ تو، پہلا بٹ 0 ہے۔

ایکسپوننٹ کے لیے آٹھ بٹ پوزیشنز ہیں، پوزیشن 30 سے ​​شروع ہو کر 23 پوزیشن تک، سبھی شامل ہیں۔ تاہم، وہاں لکھا ہوا ایکسپوننٹ 10000100 ہے۔ 2 جو کہ 132 کے برابر ہے۔ 10 . سود کی تعداد کا کفایتی اصل میں دو کی بنیاد کا +5 ہے۔ تو، کیا ہوتا ہے؟

اب، 32 بٹ فارمیٹ میں، 0 کا ایک exponent 01111111 لکھا جاتا ہے۔ 2 جو کہ 127 کے برابر ہے۔ 10 . +5 10 +101 ہے۔ 2 . تو، 10000100 پر پہنچنے میں 2 ٹیبل کے ایکسپوننٹ حصے میں، 101 2 01111111 میں شامل کیا گیا۔ 2 ، اسی مناسبت سے اس کا مطلب ہے کہ 5 کو 127 میں 132 میں شامل کیا گیا۔ 10 .

اہمیت، '1' کے بغیر، مجموعی طور پر 22 سے نیچے 15 تک پہنچ گئی۔ نوٹ کریں کہ '1' کا 1۔ 32 بٹ سٹرنگ میں اشارہ نہیں کیا گیا ہے۔ یہ کبھی اشارہ نہیں کیا جاتا ہے - اسے قبول کریں۔ پوزیشن 0 تک کے باقی خلیات صفر سے بھرے ہوئے ہیں۔

اگر اصل ایکسپوننٹ -5 ہے، تو 5 کو 127 سے گھٹایا جاتا ہے۔ 10 122 ہونا 10 . یہ 101 کو گھٹانے کے مساوی ہے۔ 2 01111111 سے 2 01111010 رکھنے کے لیے 2 .

تمام پچھلی مثال کے ساتھ، نمبر +1 جو 1.0 x 2 کے برابر ہے۔ 0 = 1.0 x 1 = 1.0 کو اس طرح دکھایا گیا ہے:

نوٹ کریں کہ '1'۔ 1.0 x 2 کا 0 فارمیٹ میں اشارہ نہیں کیا گیا ہے۔ اس کی کبھی نشاندہی نہیں کی جاتی۔ اگلا مخلوط حصہ جو 1.0 کے بعد مثبت طور پر جاتا ہے وہ ہے:

دائیں سرے پر 1 کو دیکھیں۔ یہ نمائندگی نمبر ہے:

1.0000001192092896 اور 1.0 کے درمیان فرق یہ ہے:

1.0000001192092896 – 1.0 = 0.0000001192092896

اعشاریہ حصوں کے ساتھ اعداد ملے جلے حصے ہیں۔ 1 کے درمیان تمام حصے نہیں ہیں۔ 10 اور 2 10 کمپیوٹر میں نمائندگی کی جا سکتی ہے۔ یہ فرض کیا جا سکتا ہے کہ 32 بٹ فلوٹنگ پوائنٹ فارمیٹ کے ساتھ لگاتار مخلوط نمبروں کے درمیان سب سے چھوٹا فریکشنل فرق 0.0000001192092896 ہے۔ دوہری درستگی کے لیے وقفہ چھوٹا ہونے کی توقع کریں۔ مندرجہ ذیل مثال سے رجوع کریں۔

نمبر کی نمائندگی کرتے ہوئے، 0.0 پچھلے دلائل کی پیروی نہیں کرتا ہے۔ 0.0 کی نمائندگی کا اعلان کیا گیا ہے اور اسے اس طرح سیکھنا ہوگا۔ 0.0 کی نمائندگی کرنے کے لیے، اہم کے لیے تمام خلیے 0 ہیں اور ایکسپوننٹ کے لیے تمام خلیے بھی صفر ہیں۔ سائن بٹ 0 یا 1 ہو سکتا ہے۔ بدقسمتی سے، یہ مثبت 0 اور منفی 0 کو مندرجہ ذیل طور پر جنم دیتا ہے:

حقیقی زندگی میں، صرف ایک صفر ہے. مثبت 0 اور منفی 0 موجود نہیں ہے۔ تاہم، 0 کو عام طور پر مثبت سمجھا جاتا ہے۔ اس مخصوص فارمیٹ کی تفصیل کی وجہ سے یہاں مثبت 0 اور منفی 0 موجود ہیں۔ نمبر لائن (اوپر دیکھیں) میں +0 اور -0 بھی ہو سکتے ہیں، لیکن صرف ایک صفر موجود ہے۔

64 بٹ فلوٹنگ پوائنٹ نمبر فارمیٹ
64 بٹ فلوٹنگ پوائنٹ فارمیٹ 32 بٹ فارمیٹ سے ملتا جلتا ہے، لیکن درج ذیل اختلافات کے ساتھ:

  • نمبر کی نمائندگی کرنے کے لیے 64 بٹس ہیں۔
  • سائن بٹ کے بعد، ایکسپوننٹ نمبر کے لیے 11 بٹس ہوتے ہیں۔
  • صفر انڈیکس کے لیے ایکسپوننٹ نمبر (2 0 ) 1023 ہے۔ 10 = 01111111111 2 .
  • واضح اہمیت کے لیے گیارہ بٹس کے بعد 52 بٹس آتے ہیں۔
  • اس میں 32 بٹ فارمیٹ کے مقابلے نمبروں کی ایک وسیع رینج ہے۔

نوٹ کریں کہ '1'۔ جو کہ اہمیت کے آغاز میں ہے اور اب بھی 64 بٹس میں شامل نہیں ہے، بالکل اسی طرح جیسے یہ 32 بٹ فارمیٹ کے لیے 32 بٹس میں شامل نہیں ہے۔

64 بٹ فارمیٹ اور 32 بٹ فارمیٹ کے درمیان سب سے اہم فرق یہ ہے کہ 64 بٹ فارمیٹ میں لگاتار مخلوط فریکشن کے درمیان فرق 32 بٹ فارمیٹ سے چھوٹا ہوتا ہے۔

64 بٹ فارمیٹ میں، 1.0 اور اگلے مخلوط فریکشن کے درمیان وقفہ (گیپ) کو اس طرح شمار کیا جا سکتا ہے:

1.0 ہے۔

0 011111111111 00000000000000000000000000000000000000 2

یہ '1' کے مساوی ہے، جس کی سٹرنگ میں اشارہ نہیں کیا گیا ہے، 2 سے ضرب کر کے پاور (انڈیکس) 0 (اس کے ساتھ ایکسپونٹ 1023 ہے) 10 = 01111111111 2 2 کے لیے 0 = 1)۔ سٹرنگ 1.0 x 2 ہے۔ 0 .

اگلا مخلوط حصہ 1.0 سے بڑا ہے:

0 011111111111 00000000000000000000000000000000000000 2

یہ '1' کے برابر ہے۔ جس کو سٹرنگ میں ظاہر نہیں کیا گیا ہے، اس کے بعد 51 صفر، اور پھر 1، 2 سے ضرب کر کے 0 کی طاقت میں اضافہ کیا گیا ہے (جس کا ایکسپوننٹ 1023 ہے 10 = 011111111112 2 2 کے لیے 0 = 1)۔ یہ اسی طرح ہے:

+2 0 × (1 + 2− -52 ) ≈ 1.0000000000000002

≈ کا مطلب تقریباً برابر ہے۔

ابھی:

1.000000000000002 - 1.0 ≈ 0.000000000000002

32 بٹ فارمیٹ کے لیے متعلقہ وقفہ کی قدر 0.0000001192092896 ≈ 0.00000012 ہے۔

0.0000000000000002 0.00000012 سے بہت چھوٹا ہے۔ لہذا، 64 بٹ فارمیٹ میں دو لگاتار انٹیجرز (جیسے 3 اور 4) کے درمیان 32 بٹ فارمیٹ کے لیے دو لگاتار انٹیجرز کے درمیان کہیں زیادہ ملے جلے حصے ہیں۔

عددی لکیر پر لگاتار دو عدد کے درمیان ملے جلے حصوں کی تعداد لامحدود ہے۔ لہذا، کوئی فارمیٹ (مثلاً 32 بٹ یا 64 بٹ) کسی بھی دو لگاتار انٹیجرز (پورے نمبروں) کے درمیان تمام مخلوط فریکشن فراہم نہیں کر سکتا۔ فارمیٹ (مثلاً 32-bit یا 64-bit) کے ذریعہ فراہم کردہ دو لگاتار عدد کے درمیان فرق (وقفہ) جتنا چھوٹا ہوگا، لگاتار عدد کے درمیان مخلوط فریکشنز کی تعداد (نمبر لائن کے لیے) اتنی ہی زیادہ ہوگی۔

32 بٹ فارمیٹ کے مقابلے میں 64 بٹ فارمیٹ کو دوگنا یا زیادہ درستگی کے طور پر بیان کرنے کی وجوہات یہ ہیں کہ 64 بٹ فارمیٹ کے لیے دو لگاتار انٹیجرز کے ساتھ جڑے ہوئے دو متواتر مخلوط فریکشنز کے درمیان وقفہ متعلقہ 32 سے چھوٹا ہے۔ -بٹ فارمیٹ کا وقفہ۔ نیز، 64-بٹ فارمیٹ کے لیے دو باؤنڈڈ انٹیجرز کے درمیان 32-بٹ فارمیٹ کی نسبت زیادہ ممکنہ مخلوط فریکشنز ہیں۔

اعشاریہ نمبر کے اعشاریہ حصے (فرکشن) کو بائنری حصے میں تبدیل کرنا
36.375 '.375' کے اعشاریہ حصے کے ساتھ ایک اعشاریہ نمبر ہے۔ '.375' کا اعشاریہ صفر اور ایک کے درمیان ایک حصہ ہے۔ بیس دس میں 0.5 وہی ہے جو بیس ٹو میں 1/2 ہے۔ 0.5 10 جس کا اظہار بیس دو توسیع کے ساتھ کیا جاتا ہے:

یہ 0.101 نہیں ہے۔ 2 جس کا مطلب ہے 0.625 10 . اعشاریہ نمبر کا اعشاریہ حصہ متعلقہ بائنری نمبر کے لیے اس کے مساوی بائنری حصہ رکھتا ہے۔ لہذا، 36.375 جیسے اعشاریہ نمبر کو تبدیل کرنا 10 بیس ٹو میں، 36 کو بائنری میں تبدیل کریں اور پھر .375 کو بھی بائنری میں تبدیل کریں۔ پھر، بائنری پوائنٹ کے ساتھ دونوں نتائج کو شامل کریں۔ دونوں حصوں کو تبدیل کرنے کے طریقے مختلف ہیں۔ اعشاری عدد کو بیس 2 میں کیسے تبدیل کیا جائے اس کی وضاحت باب 1 میں کی گئی ہے۔

اعشاریہ کسر کو بائنری فریکشن میں تبدیل کرنے کے لیے درج ذیل مراحل پر عمل کریں:

  • اعشاریہ کسر (اعشاریہ حصہ) کو 2 سے ضرب دیں۔ اس سے جو عدد حاصل ہوتا ہے وہ پہلا بائنری ہندسہ ہے۔
  • اگلا بائنری ہندسہ حاصل کرنے کے لیے فرکشنل اعشاریہ کے نتیجے کے ساتھ پچھلے مرحلے کو دہرائیں۔
  • پچھلے مرحلے کو دہراتے رہیں جب تک کہ اعشاریہ جزوی نتیجہ .0000— نہ ہو جائے۔

مثال: 36.375 کے جزوی حصے کو تبدیل کریں۔ 10 بیس دو میں مساوی فریکشنل حصے تک۔

حل:

نوٹ کریں کہ تیسرے مرحلے میں، .500 کو 2 سے ضرب دیا گیا تھا نہ کہ 1.500 سے۔ بائنری متعلقہ کسر اوپر سے آخری کالم میں پڑھا جاتا ہے۔ اور اس طرح، مندرجہ ذیل نتیجہ ہے:

.375 10 = .011 2

بائنری نمبر کے بائنری پارٹ (فرکشن) کو ڈیسیمل پارٹ میں تبدیل کرنا
اس کو حاصل کرنے کے لیے، بائنری فریکشن کو 2 کی باہمی طاقتوں میں پھیلائیں۔

مثال: 100100.011 کے جزوی حصے کو تبدیل کریں۔ 2 بیس دس میں مساوی فریکشنل حصے تک۔

حل:

3.10 کمپیوٹنگ میں نمبر کے سابقے

عام زندگی میں، 1 کلو کا مطلب ہے 1000 جس کا مخفف k (لوئر کیس) میں ہوتا ہے جیسا کہ 1 کلو میں ہوتا ہے۔ کمپیوٹنگ میں، 1 کلو کا مطلب ہے 2 10 = 1024، لیکن 1Kbits کی طرح K (بڑے حروف میں) میں مخفف ہے۔ عام زندگی میں، 1 میگا کا مطلب ہے 1,000,000 جس کا مخفف M (بڑے) میں ہوتا ہے جیسا کہ 1Mg میں ہوتا ہے۔ کمپیوٹنگ میں، 1 میگا کا مطلب ہے 2 بیس = 1,048,576 = 2 10 x 2 10 = 1024 x 1024 = 1,048,576 اور اب بھی 1Mbits کی طرح M (اپر کیس) میں مخفف ہے۔ عام زندگی میں، 1 گیگا کا مطلب ہے 1،000،000،000 مختصراً G (بڑے حروف میں) جیسا کہ 1Gg میں ہے۔ کمپیوٹنگ میں، 1 گیگا کا مطلب ہے 2 30 = 1,073,741,824 = 2 10 x 2 10 x 2 10 = 1024 x 1024 x 1024 = 1,073,741,824 اور اب بھی 1Gbits کی طرح G (بڑے) میں مخفف ہے۔ مندرجہ ذیل جدول عام زندگی اور کمپیوٹنگ میں چار سابقوں کے معنی بتاتا ہے:

3.11 مسائل

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

  1. -10 سے +10 تک عدد کے ساتھ ایک عدد لکیر کھینچیں۔
  2. 8-بٹ ٹو کی تکمیل میں درج ذیل بائنری نمبرز شامل کریں: 101010 2 اور 1111 2 .
  3. 1111 کے بائنری نمبر کو گھٹانے کے لیے 8 بٹس میں صرف دو کے تکمیلی نقطہ نظر کا استعمال کریں 2 101010 کے بائنری نمبر سے 2 .
  4. 10110 کا پروڈکٹ تلاش کریں۔ 2 x 1101 2 بیس دو میں.
  5. 36,375 کو تقسیم کریں۔ 10 1000 تک 10 اعشاریہ اور بائنری میں، اور نتائج کا موازنہ کریں۔
  6. منطقی AND، OR، XOR، Invert، Shift Right، Shift Left، Rotate Right، اور Rotate Left کو واضح کرنے کے لیے اپنی پسند کے 8 بٹس کا استعمال کریں۔ ہر بائٹ میں 1's اور 0's کا مرکب ہونا چاہیے۔
  7. a) ہیکساڈیسیمل، بائنری، اور ڈیسیمل میں صفر کے ASCII کریکٹر کے لیے عددی کوڈ لکھیں۔
    b) '1' کے ASCII کیریکٹر کے عددی کوڈ کو ہیکساڈیسیمل، بائنری اور ڈیسیمل میں لکھیں۔
    c) 'A' کے ASCII کیریکٹر کے لیے عددی کوڈ کو ہیکساڈیسیمل، بائنری، اور ڈیسیمل میں لکھیں۔
    d) ہیکساڈیسیمل، بائنری اور ڈیسیمل میں 'a' کے ASCII کریکٹر کے لیے عددی کوڈ لکھیں۔
  8. 49.49 کو تبدیل کریں۔ 10 بیس دو میں. اپنے نتیجے کو IEEE 32 بٹ فلوٹنگ پوائنٹ فارمیٹ میں تبدیل کریں۔
  9. a) IEEE 64 بٹ فلوٹنگ پوائنٹ فارمیٹ 32 بٹ فارمیٹ سے کیسے مختلف ہے؟
    ب) دو متعلقہ وجوہات بتائیں کہ کیوں 64 بٹ فارمیٹ کو دوہری یا زیادہ درستگی کے طور پر بیان کیا گیا ہے۔
    32 بٹ فارمیٹ۔