[Powered by Google Translate] [الیکٹرانک مستحکم آواز] روب: ٹھیک ہے، تو کیا ہم صرف آپ کے لئے لایا CS50 خالی جگہوں ہے. ALI: رکو، واپس انتظار. کے حصے کے ساتھ میں آپ کا استقبال ہے! روب: کے حصے میں آپ کا استقبال ہے! ALI: Yay! روب: Supersection! ALI: میں علی سے ہوں اور یہ روب ہے. ٹھیک ہے، اب ہم خالی جگہوں کی وضاحت کریں گے. روب: تو کیا ہم صرف آپ کے لئے لایا CS50 خالی جگہوں ہے. آپ کو آپ کے حصے میں یہ بہت اس سمسٹر کا استعمال کریں گے. بنیادی طور پر، ہم نے پہلے سے ہی تھا آپ کو آلے ڈاؤن لوڈ، اتارنا ہے. اور تم CS50 خالی جگہوں کے ایک آلے سے بات ویب انٹرفیس کے طور پر سوچ سکتے ہیں کہ ہم کچھ سرور پر کہیں ہے. تو آپ اس انٹرفیس میں اپنے کوڈ کو چلانے کے، اور ہم کریں گے کر سکتے ہیں دیکھو کس طرح کام کرتے ہیں. آپ سیکشن میں دیگر لوگوں کے اخلاق میں بھی دیکھو، کر سکتے ہیں اور - ALI: اور جیسا کہ کچھ لوگوں نے محسوس کیا ہے، آپ کی طرف سے لوگوں کو بات چیت کر سکتے ہیں. تو اور ہم یہ سب بھی دیکھیں گے، کہ خوشی کا باعث ہے. میں آو، آو اور بیٹھو. بیٹھ جاؤ. روب تو، حصوں میں ہیں - ALI: نہیں، نہیں آپ لوگ آ کر کر سکتے ہیں. روب: حصے زیادہ انٹرایکٹو اس سمسٹر پر جا رہے ہیں. ALI: اوہ، وہ کیسا ہے - اوہ. ٹھیک ہے ڈاؤن لوڈ، اتارنا،. لہذا اگر آپ لوگ صرف میں آ رہے ہیں، آپ کو اس لنک پر، اگر میں حاصل کر سکتے ہیں کر سکتے ہیں ، وہیں. ہم واقعی نہیں لکھنا، کر سکتے ہیں کی وجہ سے بورڈ کی جگہ نہیں ہے، لیکن اس لنک یہاں، آپ کے کمپیوٹر پر ہے، اور آپ CS50 میں داخل کریں گے خالی جگہیں، جو کہ ایک بہت ٹھنڈی چیز ہے. ٹھیک ہے. کیا آپ کے پاس ایک مسئلہ ہے؟ لوٹتے ہیں تو آپ کے مسائل کو تلاش کر سکتے ہیں - ہم یہ کہیں لکھنے کے قابل ہو جائے کرنے کی ضرورت ہے. تو اگر آپ cs50.net/psets جاؤ اور یہ ہیکر supersection ہے - اور آپ ایک pset ہیکر ایڈیشن میں جانے، تفصیلات پر دیکھیں کہیں صفحے پر نیچے کی - ALI تو بنیادی طور پر، جبکہ روب دیکھ، جو ہم میں کیا جا رہے ہیں سیکشن آج کے مسائل کا ایک حصہ ہے - روب: - آٹھ صفحے پر. ALI: - کہا کہ مسائل کے ایک حصے - روب: سوالات کی دفعہ. ALI: معاف کیجئے گا، سوالات کے سیکشن ہے. اور وہ لوگ ہیں جو ہم پھر سے جانے کے لئے جا رہے ہیں - وہ لوگ وہی ہیں جو ہم آج کے سیکشن میں جا رہے ہیں. اور ہم CS50 خالی جگہوں پر کرنے کے لئے کوڈ کی جا رہے ہیں، اور یہ کہ امید ہے کہ یہ کام کرے گا. اور ہم نے ان کے ذریعے صرف بات کر سکتے ہیں. اور تم لوگ سوال پوچھیں جب بھی آپ کو لگتا ہے کہ کر سکتے ہیں - لوٹتے ہیں تو یہ سب سے زیادہ psets کے ساتھ ایک عام بات ہو رہی ہے. میں اس ایک کے ساتھ میں کیا سوچتے ہیں، کا کہنا ہے کہ آپ ان سوالات کے اندر ہاتھ نہیں ہے لیکن خیال ہے کہ ان سوالات pset پر ڈال دیا جاتا ہے، اور آپ آ سکتے ہیں ان سوالات پر سیکشن نے جواب دیا. یا اگر آپ کے حصے میں نہیں آئے ہیں، آپ اپنی ذمہ داری پر ان کا جواب یا حاصل کر سکتے ہیں دفتری اوقات یا کچھ اور میں مدد کرتے ہیں. لیکن ان سوالات کا جو مسئلہ سیٹ کے لئے آپ تیار کرنا ہے. اور بہت سے سوالات کا ایک ہیکر کے ایڈیشن کے بارے میں ہو سکتا ہے آپ کے موجودہ CS علم کی توسیع ہے. ALI: جی ہاں، بہت زیادہ ہے. ٹھیک ہے، تو، CS50 خالی جگہوں پر سب کیا ہے؟ ہیلو، اندر آ جاؤ. اسپیکر 1: یو آر ایل ہم ایک بار دیکھ سکتا ہوں؟ لوٹتے: جی ہاں، یہ آسان ہو جائے ایک بار تم نے اپنے حصے میں اصل میں ہیں، اور گا آپ کا TF آپ سے پہلے یو آر ایل صرف ای میل کر سکتے ہیں. ALI: Yay، بیٹھ جاؤ. نشستیں یہاں ہیں. سامنے اتنا برا نہیں ہے. کیا ہے؟ لہذا، CS50 خالی جگہوں، ہم وہاں ہو رہے ہیں. کیا کسی کو کوئی سوال ہے تو اس سے پہلے کہ ہم میں ملتا ہے - کیا؟ روب بھی نہیں چاک. [اشراوی] ALI: معاف کیجئے گا. آپ اپنی انگلی کا استعمال کر سکتا ہے؟ ہم ایک بہت ہائی ٹیک کلاس کے قیام کے لئے ایک بہت ہی کم ٹیک کمرے میں ہیں. ٹھیک ہے، اچھا میں سے ہر ایک قسم ہے؟ کیا کسی کو ابھی تک اس کے بارے میں سوالات ہیں؟ جیسا کہ میں نے پہلے کہا، ہم میں سوالات کے سیکشن کے ذریعے جا رہے ہیں pset وضاحتیں. تو وہاں کے مسائل کے ایک جوڑے کی ہے کہ ہم جا رہے ہیں CS50 خالی جگہوں میں کوڈ. کیا سب اچھا ہے؟ ٹھیک ہے. اچھا ہے؟ روب: کیا آپ کے پاس ایک لیپ ٹاپ ہے؟ ALI: آپ لوکاس کے ساتھ باہر پھانسی پر لٹکا کر سکتے ہیں. وہ درست تمہارے ساتھ بیٹھی ہے. تعلقات میں وقت ہو گیا ہے. روب: پہلی مسئلہ کے ساتھ تو شروع کریں،؟ ALI: جی ہاں. ہم شروع کر سکتے ہیں. کیا تم مجھے چاہتے ہو - میں جا سکتے ہیں. لہذا، ہم pset شیشے میں چلے جائیں گے. اوہ، کیوں ہے - روب: کنٹرول. ALI: ٹھیک ہے، تو ہم جواب میں جا رہے ہیں ان چیزوں کے ساتھ ساتھ؟ روب: اوہ، جی ہاں. تو - ALI: اوہ، سب گھڑی روب ابنیت شارٹس کیا ہے؟ ٹھیک ہے ڈاؤن لوڈ، اتارنا،. روب: جی ہاں میرے خیال میں، نہیں ہے کہ ہم لازمی طور پر آپ کی توقع کرتے ہیں اس کے حصے میں آنے سے پہلے اسے دیکھا، لیکن ہم ان لوگوں کے بارے میں بات کر سکتے ہیں پہلے ہی مسائل، کیونکہ وہ سوال چیزوں کے سیکشن کے تحت ہیں. تو اگر آپ نے اسے دیکھا نہیں ہے، فکر نہ کرو. وہ لوگ جنہوں نے کوشش کرتے ہیں اور جواب دے سکتے ہیں. تو، سب سے پہلے سوال کیا پہلے پروسیسر، # کس طرح شامل ہے ہے تعلق؟ تو کسی کے پاس اس کا جواب ہے؟ ALI: تم لوگوں نے اس سے بات کر سکتے ہیں. بالکل، آگے بڑھو. 2 اسپیکر شامل ہیں # پہلے سے لکھے ہوئے کچھ کوڈ ہے، اور اس کی بجائے ، کاپی اور آپ کے پروگرام میں پیسٹ، صرف یہ کہہ رہی کی طرف سے شامل ہے پہلے پروسیسر جانتا ہے کہ وہ وہاں ہے اور یہ کہ وہ اس میں شامل کرنا چاہئے کے بعد یا اس سے پہلے میں کچھ اور ہوتا ہے. ALI: جی ہاں، بہت اچھا. ڈاؤن لوڈ، اتارنا. روب تو پہلے پروسیسر جب آپ اصل میں ایک پروگرام مرتب کر رہے ہیں، یہ ہے پہلا قدم ہے. تالیف چار بڑے اقدامات میں ہوتا ہے. تو پروسیسر پیشگی پہلا بڑا میں سے ایک ہے، اور اس آدمی کو جو جاتا ہے ہے اور کے ذریعے ان ہیش علامات میں سے سب کے لئے لگ رہا ہے. اور کسی بھی لائن ہے کہ ایک ہیش کے ساتھ شروع ہوتی ہے، پروسیسر پیشگی اس میں لگ رہا ہے اور دیکھتا ہے اگر یہ اس پر عملدرآمد کر سکتے ہیں. تو # شامل پری پروسیسر بتاتا ہے کچھ cs50.h تلاش کرنے کے لئے فائل اور اس فائل میں اس کے مشمولات کو کاپی اور پیسٹ کریں. تو کیا تم # واقعی تم کچھ چاہتے ہیں، شامل سکتے ہیں لیکن یہ زیادہ تر جا رہا ہے H فائلوں. تو ہم # ابھی تک وضاحت نہیں ہو گیا ہے، اس سے کوئی فرق نہیں پڑتا ہے. ALI: جی ہاں، ہم اس پر اچھے ہیں. کیا کسی کے پاس اس کے بارے میں کوئی سوالات ہیں؟ ہم اچھا ہے؟ اگلا سوال ہے. 3 اسپیکر: مختصر میں، کے بارے میں کچھ سی کے ساتھ ساتھ تھا.؟ کہ متعلقہ ہے یا یہ غیر متعلقہ ہے؟ روب: پروسیسر پیشگی کے ساتھ سی کے بارے میں؟ 3 سپیکر: جی ہاں، یا پھر میں کچھ کیا بنا؟ روب: تو مختصر ہو سکتا ہے ظاہر یہ فائل پہلے پروسیسنگ اور دوسرے C فائل لکھنا ہے، تو آپ کو یہ فائل سے پہلے عملدرآمد نہ کر سکیں - جب آپ کی طرح چلاتے ہیں، ہیلو یا بجنا hello.c، آپ سب کر رہے ہیں ایک بڑا قدم میں تالیف. لیکن آپ نے اسے اس کے مختلف اقدامات میں واضح طور پر کر سکتے ہیں. تو سب سے پہلے آپ کو اس سے پہلے عملدرآمد نہ کر سکیں. تو پھر تم نے تالیف، پھر تم جمع کر سکتے ہیں، اور آپ تو لنک کر سکتے ہیں کر سکتے ہیں. ہم ان دوسرے والے سے مل جائے گا. لیکن پہلے عمل کے پہلے پروسسنگ تم کس طرح، اور اس کے بعد یہ جاتا ہے میں ایک اور سی فائل. وجہ سے پہلے پروسیسنگ کچھ نہیں تبدیل کرتا ہے. یہ صرف کاپی اور پیسٹ کا ایک گروپ ہے. آپ کو دستی طور پر اور خود کو کاپی اور پیسٹ کر سکتے ہیں. ALI:. سی فائل اور صاف ہو جائے، سی فائل ہے، تو یہ ہے C کوڈ کے وزٹرز کا ریکارڈ رکھا جائے گا. تو اس C کوڈ سے C کوڈ میں ہو رہا ہے. آپ کو صرف پونڈ سے زیادہ سے زیادہ کوڈ کا اضافہ کر رہے ہیں. لوٹتے ہیں: جب آپ نے اسے پہلے سے عملدرآمد، اب بھی ایک درست C فائل ہے. 3 سپیکر: ٹھیک ہے. ALI: اچھا سوال ہے. مجھے یہ پسند ہے. ٹھیک ہے، اگلے سوال. سنکلک کیا ہے؟ کوئی ہے؟ جی ہاں. 4 سپیکر: یہ اسمبلی میں پہلے عملدرآمد کوڈ کو تبدیل کر. ALI: ٹھیک ہے. روب: جی ہاں. ALI: ڈاؤن لوڈ، اتارنا. روب: تو ہے کہ کیا سنکلک خاص طور پر کر رہے ہیں جب ہم بجنا کو استعمال کر رہے ہیں. ایک بہت عام معنی میں، ایک سنکلک صرف ایک زبان میں کوڈ لینے کی طرح ہے اور دوسری زبان میں تبدیل. تو سی - یا، اچھی طرح بجنا کوڈ لینے C میں ہے اور اسمبلی اسے تبدیل. اور آپ کو اسمبلی میں سمجھنے کے قابل ہو جائے کی ضرورت نہیں ہے. لیکن وہ زبان ہے کہ یہ تبدیل میں ہے. ALI: ٹھیک ہے. اور پھر، ایک کوڈانترک کیا ہے؟ کوئی ہے؟ 5 اسپیکر: بائنری [اشراوی] ALI: معاف کیجئے گا، کیا ہوا؟ 5 اسپیکر: بائنری [اشراوی] روب: جی ہاں. ALI: جی ہاں. روب تو کوڈانترک - اسمبلی کوڈ واقعی ہے، سچ میں آپ کے کمپیوٹر کو کیا سمجھ سکتے ہیں کے قریب، لیکن یاد رکھنا کہ یہ متن کافی نہیں سمجھتا کہ اسمبلی کوڈ آن ہے. تم نے یہ براہ راست 1s اور 0s میں تبدیل کرنے کی ضرورت ہے. یہ ایک براہ راست ترجمہ کے عمل کی طرح ہے. ہم آپ کو صرف ایک ٹیبل دے سکتا کہ نقشے ہر اسمبلی ہدایات کا مطلب ہے. لیکن کوڈانترک صرف آپ کے لئے اس کا ترجمہ کر رہی ہے. یہ 1s اور 0s میں اسمبلی کوڈ تبدیل کر رہا ہے. ALI: اور پھر، گزشتہ ایک کے لئے، جو ایک linker ہے؟ اور lcs50 سے تعلق کس طرح؟ کوئی ہے؟ لوٹتے ہیں: یہ سب سے زیادہ اور کم سے کم سنکلک ویڈیو میں ایک وضاحت کی ہے. ALI: کیا کسی کو ایک کمانڈ میں دیکھ lcs50-یاد ہے؟ اسپیکر 6: جب آپ کو بنانے کے لئے گئے تھے. ALI: یہ بنانے میں ہے. جی ہاں، ڈاؤن لوڈ، اتارنا، ٹھیک ہے. ہے کوئی اندازہ یا مبہم - جی ہاں، جاؤ،. 7 سپیکر: مجھے یقین نہیں ہوں، کیونکہ آپ کی مختصر واقعی [اشراوی] تھا، لیکن تھا ہر لائبریری کے ساتھ علیحدہ فائلوں کر رہے اور پھر ڈال کے بارے میں کچھ ایک لائبریری میں سب کو ایک ساتھ ان؟ روب: جی ہاں. تو جب آپ hello.c ہے، ایک بہت ہی سادہ پروگرام ہے. تم نے سچ میں صرف اس میں کر رہے ہیں ایک بات کر رہے ہیں. - لیکن جب آپ کو دوسرے پروگراموں میں اور مجھے لگتا ہے کہ اس وقت بھی جب آپ کو اپنے پروگراموں میں GetString، آپ کو شروع کرنے کے لئے کی ضرورت ہے دیگر فائلوں بھی شامل ہے. تو CS50 لائبریری ایک ایسی فائل ہے جس میں ہم نفاذ ہے GetString اور GetInt اور ان تمام چیزوں کے. تو linker کرتا ہے، اس کے ارد گرد جاتا ہے ان میں سے سب کے ذریعے تلاش فائلوں، جہاں افعال کی وضاحت کر رہے ہیں دیکھ کر، کہ اس بات کو یقینی بنانے کے جب میں کال GetString کہیں، یہ اس GetString جانتا کا مطلب یہ ہے کہ یہ ہے CS50 لائبریری میں ختم GetString. تو linker ان تمام فائلوں، ان کے ساتھ smashes، اور اب لگتا ہے کیا آپ ایک executable ہے. تو اس بات کو ذہن میں رکھنا، اگر آپ CS50 لائبریری کا استعمال کرتے ہوئے کر رہے ہیں، آپ دونوں کی ضرورت ہے # سب سے اوپر شامل، اور آپ کے شرنگار کی کمانڈ میں پھر بھی آپ کے طور پر، نے کہا کہ، آپ lcs50 ہے ہے. تو کیا تم صرف ایک نہیں کر سکتے ہیں. تو وہ صرف مستقبل میں ریفرنس کے لئے ذہن میں رکھنے کے لئے کچھ ہے. 8 سپیکر: تو، کا کہنا ہے کہ ایک لائبریری cs51.h کی طرح تھا،، ہم کریں گے بھی lcs51 شامل ہے؟ روب: ہی وجہ سے اس lcs50 بالکل کام کرتا ہے ہے کیونکہ ہم اس مجموعہ ہے آپ کے آلات میں ایک مخصوص جگہ میں تاکہ وہ جانتا ہے جو کچھ lcs50 کا مطلب ہے. ہم آپ کو صرف ایک cs50.c فائل دے، اور پھر آپ اسے مرتب کرتے ہوئے کہا کہ سکتا ہے کر سکتے ہیں بجنا hello.c cs50.c، اور پھر اس کے لگانے سے آپ کی کارکردگی کریں گے ان دونوں نے ایک ساتھ فائلیں. یہ جانتا ہے کہ lcs50 کچھ ڈائریکٹری ہے کہ ہم میں وضاحت میں ختم cs50.c کا مطلب آلات. تو اگر آپ صرف یہ کہہ رہا lcs51 کی طرف سے ایک cs51.c specifiable سے کرنا چاہتا تھا، تو پھر ہم بھی اس ڈائریکٹری میں ڈالنے کی ضرورت ہے تو یہ کہاں سے جانتا ہے اس کے لئے دیکھو. ALI: آپ کے سوال کیا تھا؟ 7 سپیکر: آپ کیوں CS50 منسلک ہے اگر - wasn't کاپی / پہلا قدم ہے جب آپ اس سے پہلے عملدرآمد میں چسپاں؟ ALI: کیا تم اسے لے کرنا چاہتے ہیں؟ روب: ضرور. تو cs50.h فائل cs50.c C فائل سے الگ ہے. کیا آپ نے کلاس میں prototypes پر کام ہو گیا ہے؟ ٹھیک ہے. تو بنیادی طور پر، cs50.h فائل میں کاپی اور پیسٹ کریں کی جا رہی ہے - ALI: کیا تم لوگ جانتے ہو کہ دستخط ہیں؟ ٹھیک ہے، بہت خوبصورت، اگر آپ کو دیکھو - روب: چلو ہونے کا ڈرامہ cs50.h وہاں نہیں ہے. اب اس فائل - آپ کے سٹرنگ = GetString کر رہے ہیں. لیکن اس پر جب ہم نے کوڈ میں اس نقطہ پر ہو گیا ہے، کوئی اندازہ نہیں ہے کیا GetString ہے. یہ معلوم ہے کہ یہ ایک تقریب ہے، کیونکہ آپ اسے بلا رہے ہیں. اسے پتہ نہیں ہے کہ یہ اصل میں ایک تار واپس کرنا ہے. تو جیسا کہ میں نے کہا، سٹرنگ = GetInt، اس کا کوئی مطلب نہیں ہے کے بعد سے آپ کو ایک تار کے ایک عددی دستخط کر رہے ہیں. اسے پتہ نہیں کہ GetString کا کوئی مطلب ہے، کیونکہ یہ نہیں ہوتا معلوم کہ GetString ایک سٹرنگ واپس. تو cs50.h کا کہنا ہے کہ کچھ اس طرح ہے. ALI: تو کیا روب ٹائپ کر رہا ہے ہے، یہ ایک طرح سے ایک وعدہ ہے کہ یہ جا رہا ہے ملاقات کی GetString تقریب ہے. روب: یہ سب کہ cs50.h ہے کاپی کر کے یہاں چسپاں ہے، کے ساتھ ساتھ GetInt اور ان تمام چیزوں کے طور پر. اور یہ صرف کا کہنا ہے کہ کہ GetString ایک تار واپس ہے. آپ کو پتہ نہیں ہے کہ یہ کس طرح ابھی تک نافذ ہے، لیکن جب ہم اس لائن حاصل کرنے کے لئے، اب یہ جانتا ہے کہ یہ درست طریقے سے ایک تار واپس. 9 اسپیکر: تو اگر ہم # شامل بات کے ساتھ اور اس کے بجائے پریشان نہ کیا صرف لوگوں کے لئے پروٹوٹائپ نے لکھا ہے کہ ہم اصل میں استعمال کرنے کے لئے جا رہے ہیں؟ روب: جی ہاں. تو اس کو چلانے کے. 9 اسپیکر: یہ کیا ہے؟ تو، ڈیفالٹ کے ذریعہ CS50 L-صرف اس وجہ سے کرتے - روب: - اظہار. ALI: جی ہاں، کیونکہ جیسا کہ تم نے کہا تھا کہ، شرنگار فائل میں ہے. روب: cs50.h بھی typedef چار سٹرنگ * پر ہوتا ہے. تم پوری طرح سے کیا کہ اب کے لئے کا مطلب ہے نظر انداز کر سکتے ہیں. لیکن یہ بھی cs50.h. میں شامل کچھ ہے تو اب چیزیں بالکل ٹھیک کام کیا. یہ بالکل ایک ہی چلتا ہے کے طور پر تھا جب ہم صرف # شامل ہیں. اور اس سمیت cs50.h چیزیں زیادہ شامل ہیں کی آپ کو ضرورت کا کیا ہوتا ہے - کی طرح، آپ کو اس پروگرام میں GetInt استعمال نہیں کرتے، لیکن کوئی فرق نہیں پڑتا. اس سے صرف نظر انداز کریں گے. ALI: اور پھر جب آپ یہاں lcs50 کرتے ہیں اور یہیں، کیا جا رہا ہے پر یہ ہے کہ یہ اصل implementable کوڈ رہا ہے. تو وہ ہے جہاں یہ اصل میں ہے، کر - GetString کے لئے کوڈ لکھنے. اس لئے یہ صرف نہیں ہے اب وعدہ. یہ اصل میں سے گزر رہا ہے اور سٹرنگ اور وہ سب چیزیں لے. احساس ہے؟ سوال؟ ٹھیک ہے. ڈاؤن لوڈ، اتارنا پھلیاں. روب: اب ہم اصل کوڈ پر منتقل کر سکتے ہیں. ALI: ٹھیک ہے. تو پہلا مسئلہ ہے. تو اس کا کہنا ہے کہ ایک ایسا پروگرام ہے جو ایک چھوٹے کے لئے صارف کا اشارہ لکھیں اور پھر خط bitwise استعمال کئے بغیر بڑے بدلتا ہے آپریشن، نمونے ذیل پیداوار کے مطابق. تو آپ دیکھ سکتے ہیں، آپ کو a.out / کے ساتھ پروگرام چلاتے ہیں، اور اس کے بعد تم ایک چھوٹے میں ڈال دیا جا رہا ہے، اور پھر آپ کے پروگرام کے دارالحکومت دینا چاہیے A. تو سب آپ لوگ کیوں نہیں کرتے یہ CS50 خالی جگہوں پر ایک شاٹ دیا ہے؟ لہذا تم لوگ یہاں سب جا سکتے ہیں. اور تم یہاں تمام کوڈ کو ختم کر سکتے ہیں. اور پھر تم آگے جاؤ اور بات کوڈنگ شروع کر سکتے ہیں. روب: آپ GetChar کہ استعمال کرنے کے لئے شاید چاہیں گے CS50 لائبریری میں شامل ہے. ALI: مجھے لگتا ہے کہ یہ بہتر ہو گا اگر آپ سب سے اوپر حصہ کو بچانے کے کر سکتے ہیں. تو تم درمیان میں چیزیں تبدیل کرنا چاہتے ہو سکتا ہے. آگے بڑھو اور کام کرتے ہیں. ایک دوسرے کے ساتھ مل کر کام کرنے کے لئے آزاد محسوس کرتے ہیں. لوٹنے اور آپ سوال پوچھیں اگر آپ کر سکتے ہیں - 10 سپیکر: bitwise آپریشن کیا ہے؟ روب: اس مسئلہ کے لئے تو، اس کو نظر انداز. ALI: اگر آپ کو یہ پتہ نہیں ہے، یہ اچھی بات ہے. روب: ہم اس سے اگلے مسئلہ میں استعمال کرنے کے لئے جا رہے ہیں. لیکن اگر آپ نہیں جانتے کیا bitwise آپریٹر ہے، یہ ٹھیک ہے. 10 اسپیکر: ASCII کوڈ تبدیل ہے؟ ALI: نہیں. روب: نہیں. آپ کو یہ مسئلہ اس کے لئے کر سکتے ہیں. اسپیکر 10: تم یہ کیسے کرتے ہیں؟ صرف اس صورت میں جب میں کہیں لکھنے تھا - ALI یا کے ساتھ لکھنے کے لئے کچھ ہے. روب: میں اس میں قسم کی قسم سکتا. ALI: سب سے اوپر کی قسم ہے. روب: اوہ، میں مائک پر بیٹھی ہوں. لہذا، ہم درس میں نے دیکھا ہے کہ سرمایہ کے لئے ASCII قیمت 65 ہے. اور دارالحکومت B 66 ہو، اور اسی طرح کی جائے گا. تو آپ لفظی 'A' 65 نمبر کا مطلب کے لئے استعمال کر سکتے ہیں. کی طرح، یہ 65 قیمت ہے. 'A' - میں int X = 100 ایسا کچھ کر سکتی ہے. اور اب X قیمت 100 - 65. ALI: تم اس چلائیں اور دکھا سکتے. اوہ، ہو سکتا ہے نہیں ہے. کوئی بات نہیں. روب: میں اسے پرنٹ کرنے کے لئے تھا. اسپیکر 10: تم نے اسے کس طرح کے کردار کرنا پشت؟ ALI: تو اگر تم مت پہنچاو - برابر تم صرف یہ چار ایک کے کرنے پر مجبور ہے. لوٹتے ہیں تو ایک - چار اور ایک عددی کے درمیان فرق صرف سائز کے لحاظ سے ہے. تو ایک عددی چیزوں کی نمائندگی کرنے کے قابل ہو جائے کرنے کے لئے ہوتا ہے ، چار ارب طرح. صرف ایک چار چیزوں 255 تک کی نمائندگی کر سکیں. لیکن اس سے ان کے درمیان کوئی فرق نہیں ہے. تو آپ کو چار ج 65 = کہہ سکتے ہیں. وہ یہ کہتے ہوئے لے لیا کہ چار ج برابر 'A' کے برابر ہے. ALI: اوہ، نہیں. اصل میں یہ چیزیں نہیں کرتا محفوظ کریں. روب: نہیں، تم ایسا نہیں کر سکتے. ALI: یہ صرف ہے - [ہاںفتے] روب: ٹھیک ہے، تو کیا علی صرف لکھا وہ ایک ایسا پروگرام ہے جو پہلے 100 پرنٹ تھا - ایک عددی کے طور پر 'A'، جو 35 تھا کی وجہ سے جیسا کہ ہم امید کرتے ہیں، 100 مائنس ASCII کی قیمت 65 ہے. پھر وہ باہر طباعت٪ C، جس میں حروف کے طور پر اس کی تشریح کا مطلب ہے کا استعمال کرتے ہوئے. تو 100 - ایک 35 ہے. ہیش کی علامت ہے کہ ایک کردار کے طور پر تشریح ہوتا ہے. اگر آپ asciitable.com یا جو کچھ بھی میں دیکھتا ہوں، تم دیکھ، کہ 35 ہے. ہیش کی علامت ہے. ALI: ٹھیک ہے، مسئلہ کے بارے میں کوئی وضاحت؟ ٹھیک ہے، تم لوگ آگے بڑھو اور اس وقت کیا کر سکتے ہیں. سوال کرنے یا ایک دوسرے سے بات بلا جھجھک. یا اگر آپ کے پاس پہلے سے ہی کام ہو، آپ آرام کر سکتے ہیں. لوکاس: وہ ایک ہی کلاس، کے لئے میں تمام چھوٹے حروف ہیں اور بھی بڑے آرڈر میں بھی ہیں، کیونکہ اس میں اس کے لئے مفید چیز ہے مسئلہ ہے. ALI: اچھی بات، لوکاس. تو، تم لوگوں کو وہ سب کچھ ملا؟ 11 سپیکر: جی ہاں. یہ ہے کہ آپ اسے کس طرح کرتے ہیں، ہے نا؟ ALI: ٹھیک ہے. روب: جی ہاں. 11 اسپیکر: [اشراوی] ALI: ٹھیک ہے. روب: سوال پوچھ رہا ہے؟ صرف تبدیل - ALI: بڑے پر چھوٹے تبدیل کریں. کہ یہ ہے. روب: ٹھیک ہے. ALI: ہم اسے لکھ دوں؟ مجھے لگتا ہے کہ ہم کسی اور صرف دیکھتا ہوں. لوٹتے ہیں تو وہ لوگ جو پھنس گیا کیا جا سکتا ہے، ایک طریقہ کے لئے - اگر میں کچھ حروف سی ہے، اور چلو کا کہنا ہے کہ اس خط کے ساتھ کیا ہوتا ہے D. تو اب میں نے کس طرح اعداد و شمار کر سکتے ہیں حروف تہجی C خط کیا ہے؟ D D، نہیں ہے لیکن میرا مطلب ہے، حروف تہجی کا چوتھا حرف پر ہوتا ہے. اور اگر ہم 0 سے گنتی شروع، تو یہ حروف تہجی کا تیسرا حرف ہے. C B تو اگر A 0، 1، 2، D 3 ہے، میں کس طرح int پوزیشن اعداد و شمار کر سکتے ہیں - حروف تہجی C کس پوزیشن میں ہے؟ کیا کسی کو کوئی خیال ہے؟ ALI: مجھے لگتا ہے کہ وہ سب کے سب کوڈنگ رہے ہیں. لوٹتے ہیں: سب سے پہلے کے بارے میں کیا خیال ہے؟ اسپیکر 12: تو جو کچھ بھی ہے، سب سے پہلے ایک منہا؟ روب: جی ہاں. ALI: جی ہاں، بہت اچھا. لہذا آپ کے دارالحکومت D کر سکتے ہیں - اوہ، معاف کرنا. آپ کے کردار کو لے لو اور آپ نے پہلی بار ایک منہا کریں، جیسا کہ آپ نے کہا ہے. روب: D تو اگر 68 کی طرح کچھ ہے، اور ہم A، منہا جو 65 ہے، تو ہم 3، ہمیں بتا کہ D حروف تہجی کا تیسرا حرف ہے 0 سے شروع ہونے والے. تو آپ اس کا استعمال کر سکتے ہیں. اب ہم جانتے ہیں کہ حروف تہجی کے معاملے میں جو خط، بڑے حروف تہجی، یا - ہم چھوٹے حروف کے لئے ایک ہی کام کرتے ہیں جو اعداد و شمار کر سکتے ہیں پوزیشن ہم اندر ہیں. چھوٹے ہم استعمال کرتے ہیں اور یہ کہ اس کے بعد کہ ایک کا استعمال کرتے ہوئے بڑے تبدیل کر سکتے ہیں بہت ہی خیال ہے. تجاویز کے لئے پوچھا؟ ALI: تم لوگ کیا کریں - انتظار، مجھے نہیں معلوم کس حد تک آپ لوگ ہیں. کیا تم نے کیا کیا کے سب سے زیادہ، تم اب بھی کام کر رہے ہیں، تم پھنس گئے ہیں؟ آپ لوگ باہر چللاو کر سکتے ہیں - پھنس گیا. ایک شخص پھنس گیا ہے. ڈاؤن لوڈ، اتارنا. میں پھنس گئے ہیں، بھی ہے. 13 سپیکر: میں نے کیا کیا کر رہا ہوں. ALI: آپ کیا کر رہے ہو؟ ٹھیک ہے. ہو گیا. 13 سپیکر: [اشراوی] ALI: جی ہاں ڈاؤن لوڈ، اتارنا،. کیا آپ کی جانچ پڑتال کہ یہ چھوٹے شکل میں ہے؟ ٹھیک ہے ڈاؤن لوڈ، اتارنا،. دوسرے لوگ کہاں ہیں؟ کیا کے طور پر اپنے آپ کو غیر سے چپکی ہوئی یہ اشارہ آپ کی مدد؟ 14 سپیکر: نہیں، لیکن صرف اس وجہ سے، مجھے پتہ نہیں ہے، میں نہیں ہوں ابھی یہ digesting. ALI: ٹھیک ہے ڈاؤن لوڈ، اتارنا،. کیا آپ کو کرنے کی کوشش کرنا چاہتے ہیں - یا آپ کو اور بات کرنے کے لئے جانا چاہتے ہو؟ روب: مجھے کیا کہنے جا رہا ہے - تو اس کا استعمال کرتے ہوئے. کیا آپ کو سمجھ سکتا ہوں کہ ہم نے حروف تہجی کی کیا پوزیشن خط میں کیا ہے؟ 14 سپیکر: ٹھیک ہے، لہذا جب آپ ایک کوٹیشن میں چیزیں ڈال، ہے کہ ایک بڑی تعداد واپس؟ روب: جی ہاں. یہ ASCII قیمت کی نمائندگی کرتا ہے میں ترجمہ کیا جائے گا. تو آپ ASCII ٹیبل یا جو کچھ بھی ہے میں جانے کے لئے چاہتے ہیں؟ ALI: صرف ان میں سے ایک؟ روب: جی ہاں. تو جب آپ ان علامات میں سے کسی ایک ڈالا، بہت کو نظر انداز - ALI: [اشراوی] روب: اوہ، کرسر کا استعمال کرتے ہوئے. ALI: جی ہاں. یہ دلچسپ تھا. روب تو، بائیں، جو خاص علامات ہیں یہ وہ لوگ ہیں کو نظر انداز - اگر آپ ان علامات میں سے کسی ایک کی قیمت درج کرنے میں ڈال دیا، یہ ہو جائے گا بائیں پر اس قدر میں ترجمہ کیا گیا. ALI: یہ اس کے لئے دشملو تعداد ہے. 65، B 66 کے ساتھ ایک میچ کی طرح ہے، اور آپ کو نوٹس ہے کہ وہ سب میں ہوں حروف تہجی، جس میں ایک فرق پڑتا ہے. تو، جیسا کہ روب کا کہنا ہے کہ، اس سے پہلے، اس کوڈ میں، ہم سے دور کا حساب کر رہے تھے پہلے خط، SE فی. اور یہ ایک ہی ہو گے، چاہے وہ بڑے یا خفی ہے. روب: تو جب ہم D، A 65، مائنس 68 نے کیا، ہم نے 3 ملتا ہے. کیونکہ D حروف تہجی میں تین عہدوں ہے. ALI: تو پھر کس طرح آپ کا ترجمہ ہے کہ ختم تھوڑا د تلاش کرنے کے لئے کرے گا؟ روب: جی ہاں. تو اگر میں 3 اب ہے، میں جانتا ہوں کہ میں میں تین خطوط پر جانا چاہتا ہوں - ہم چھوٹے جا اب ہو جائے، لیکن چلو کا کہنا ہے کہ میں تین جانا چاہتے ہیں چیزوں کے چھوٹے طرف میں پوزیشن حاصل کی. تو میں کہ کس طرح کر سکتے ہیں؟ مجھے پتہ ہے کہ خفی ایک 97 ہے. تو میں چھوٹے حروف میں تین پوزیشن کو کس طرح مل سکا؟ 15 سپیکر: میں ایک سوال اصل میں ہے. ALI: جی ہاں، آگے بڑھو. 15 سپیکر: تو، یہ اس کے لئے اگر میں اس پوزیشن کو جانتے ہیں واقعی نہیں کوئی بات، ، میں اس ٹیبل کو پسند کرنے کی ضرورت نہیں ہے. روب: نہیں. آپ نے ان کی تعداد کے کسی کو استعمال کرنے کی ضرورت کبھی نہیں کریں گے. اور یہ آپ کے پروگراموں میں ایک اہم بات یہ ہے کہ آپ سخت نہیں ہونا چاہئے ان constants میں سے کسی ایک کوڈ ہے. 'A' کا استعمال کریں. کبھی نہیں 65 یا 97 کا استعمال کریں. ALI: وہ جادو کی تعداد کہا جاتا ہے، اور وہ بہت مبہم ہیں. کی طرح، جب تم نے ایک کوڈ ٹھیک کر رہے ہیں، آپ کو یاد نہیں کر سکتے ہیں کیا تم ان کے لئے استعمال کیا جاتا ہے. اور ہمیں آپ کے کوڈ کو گریڈنگ کے لئے، ہم واقعی نہیں جانتے جو تم ان کے لئے استعمال کر رہے ہیں. تو یہ اچھا ہے اگر آپ واقعی حروف تو یہ کرتا ہے استعمال کرنے کے لئے لوگوں کو احساس ہے. ٹھیک ہے، کسی دوسرے سوال؟ کیا زیادہ سے زیادہ لوگوں کو کیا ہے، یا - مجھے لگتا ہے کہ ہم چیک کر سکتے ہیں. یہ واقعی عجیب ہے کہ آپ لوگوں کوڈ دیکھ سکتے ہیں. روب: جی ہاں. ہم یہاں ایسا نہیں ہے. ہم لوگوں کے نام معلوم نہیں ہے، یا تو. ALI: اوہ ہاں، ٹھیک ہے کہ اس سے بہتر ہے، تو ہم سے بھی زیادہ منصفانہ ہو جائے گا کی بجائے صرف تصادفی کسی اٹھا. فکر مت کرو. میں ایسا نہیں کروں گا. کوئی بات نہیں - اگر آپ کے بارے میں بے ترتیب چیزیں ہیں. ٹھیک ہے. لوگ کیسے ہیں؟ 17 اسپیکر تو نویں لائن ایک کردار کو پرنٹ کرنا چاہئے؟ روب: جی ہاں. ALI: جی ہاں. تو اگر آپ نیچے جاؤ - روب: اوہ، وہ نہیں کر سکتے. ALI: تم نے دیکھا ہے کہ یہ ہیش کی علامت طباعت گے. 17 اسپیکر: اوہ، ٹھیک ہے. روب: مجھے لگتا ہے کہ ایک اور راستہ ہے جس سے آپ چیزوں کو دیکھ سکتے ہیں ہم دو چھپائی رہے ہیں حروف. پہلے ہم چھپائی رہے ہیں ایک خط A. ہے اگلی بار ہم چھپائی رہے ہیں صرف 65 ہے. یہ ان کے لئے کے وزٹرز کا ریکارڈ رکھا جائے گا. میرے متعلق شاید چللاو کریں گے. لہذا اگر ہم صرف اس کو چلانے کے، آپ کو نوٹس، کہ یہ دونوں اوقات پرنٹ کریں گے. کیونکہ ہم اس سے ایک ہی بات کر رہے ہیں. ہم نے اس سے خط A. پرنٹ کرنے کے لئے کر رہے ہیں اور پھر ہم اسے پرنٹ کرنے کو کہہ رہے ہیں 65 نمبر ایک کردار ہے، جس میں ایک ہی بات ہے کے طور پر تشریح کی جائے. ALI: کیا آپ کو کچھ کہنا ہے؟ اوہ، صرف مذاق کر رہا ہے، معاف کرنا. ٹھیک ہے، کہ لوگ کس طرح ہے - روب: ہم نے اس کے ذریعے سے چل سکتے ہیں. ALI: ٹھیک ہے، تو آپ کو شروع کس طرح؟ کوئی ہے؟ ایک اشارہ کے طور پر، ہم لوگوں سے typers سے کچھ ملے گا، ہے. 18 سپیکر: [اشراوی] ALI: اوہ ہاں، ایک فوری طور پر کامل،. ہم تو ٹائپ کریں گے - ہم کس قسم کی ہے؟ کوئی ہے؟ یا صرف میں ٹائپ کرنا چاہئے؟ - کیا ہم واقعی ٹائپ روب: ضرور. ALI: ہم تو ہم کو اسے فوری طور پر پر printf ٹائپ کریں گے، تو ہو سکتا ہے ، مجھے ایک کردار دے. ٹھیک ہے، اور پھر کیا؟ یہ کر کیوں ہے؟ روب: مجھے پتہ نہیں ہے. ALI: ٹھیک ہے. تو اب، ہم نے انہیں کہہ رہا ہوں ہمیں ایک کردار دے رہے ہیں. لیکن اس وقت آپ نے واقعی میں کس طرح کہ کردار ملے گا؟ 19 سپیکر: استعمال GetString. ALI: GetString؟ GetChar؟ ٹھیک ہے، تو ایک تار اور چار کے درمیان کیا فرق ہے؟ 19 سپیکر: سٹرنگز ایک سیریز کرداروں میں سے ایک صف کی طرح ہیں،. ALI: ڈاؤن لوڈ، اتارنا، جی ہاں. تو اس مسئلہ میں، ہم صرف ایک وقت میں ایک کردار پر غور کرنے کی ضرورت ہے، تو ہم صرف اس مثال کے طور پر GetChar کرنے جا رہے ہیں. روب: ہم نے ایک تقریب پر عمل در آمد کی اگر ہم چاہتے تھے کہ ایک مکمل سٹرنگ لیا تھا اور سٹرنگ گئے اور تمام چھوٹے بڑے اور تمام تبدیل چھوٹے بڑے حروف. لیکن یہاں، ہم صرف ایک کردار کے لئے تم سے پوچھ. ALI: تو اب ہم کردار ہے یہاں، لیکن پھر ہم اس کو بچانے کی ضرورت ہے. تو پھر ہم چار ج اضافہ کر دیں گے - کیا؟ 20 سپیکر: متغیر کی وضاحت کریں. ALI: جی ہاں، بالکل. تو ہم اپنے کردار ہے. روب: مجھے لگتا ہے کہ آپ کو ہو سکتا ہے - آپ کو صرف تین خالی جگہوں میں ہیں، جس کی وجہ سے تم پر چللا ہے. ALI: ٹھیک ہے، ڈاؤن لوڈ، اتارنا، کیا اب کہ ہم سیٹ جدول بندی ہے، اگلے ہوتا ہے؟ اگلا قدم کیا ہے؟ روب: ہمارے پروگرام کیا کرنا چاہیے ہے کہ ایک چھوٹے ایک خط میں تبدیلی خط بڑے. کیا ہوگا اگر میں ہیش کی علامت درج کریں ہوا؟ - ہے ALI: یہ ایک اچھی علامت ہے. ہم نے یہ ایک بہت استعمال کرتے ہیں. روب: کیا یہ ایک درست بات ہے میں ایک بڑے فارم تبدیل کر سکتے ہیں؟ 21 سپیکر: نہیں. ALI: نہیں. ہم یہ چیک کرنے کے لیے کیا جانا چاہئے. تو ہم ایک ہو سکتا ہے اگر بیان کی جانچ پڑتال اگر سی سے بڑا ہے یا 'چھوٹے a'کے برابر - اگر ایسا ہے تو ہم نے چارٹ میں دیکھو، آپ کو نوٹس، کہ یہاں کے درمیان میں ہے.، 97، اور چھوٹے ایک. اور وہ ان میں سے کسی اور increments میں نے پورے راستے کرسکتے ہیں. اور پھر وہاں 122 Z ہے. اور ان دو اقدار کے درمیان گر ہے. کیا اس کا کوئی مطلب ہے؟ روب: تو اگر میں سی 97 اور 122 کے درمیان نہیں ہے - یا آپ ان کی تعداد کو استعمال کرنے کے لئے کی ضرورت کبھی نہیں کرنا چاہئے - اگر C '' اور کے درمیان نہیں ہے 'Z،' تو اس کے لئے ہم بڑے درست کردار نہیں تھا. ALI تو کوڈ کی شکل میں، ہم یہ کہتے ہیں کہ اگر سی یا اس سے زیادہ ایک کے برابر ہے کیس چھوٹے - واہ، تم یہ کیسے کہا؟ ٹھیک ہے، یا اس سے زیادہ چھوٹے 'اے' کے برابر ہے، اور اس کے اوپر ہے چھوٹے 'Z.' تو اس سے کم یا برابر 'Z' چھوٹے ہے. ہم اس بات کا یقین کر لیں کہ یہ ان دونوں کے درمیان ہے بنا رہے ہیں. پھر ہم ہماری خوشی کے کوڈ کے ساتھ جاری رکھ سکتے ہیں. کیا ہے؟ لوٹتے ہیں تو میں نے سوچا ہم سے پوچھ رکھیں گے، اگر ہم ایک نہیں ہو خط چھوٹے. ALI: اوہ، میں اس کے بارے میں علم نہیں تھا. معاف کیجئے گا. ٹھیک ہے، اگر ایسا ہے تو ہم کیا کرنے جا روب کا کہنا ہے کہ رہے ہیں، اور یہ کہ اس بات کا یقین کریں - ہم ان سے پوچھ، تو کر سکتے ہیں ہمیں کیا کرنا چاہئے؟ 22 سپیکر: [اشراوی] روب: جی ہاں. ہم لوپ کسی قسم کا استعمال کرنا چاہئے. کیونکہ صارف جعلی کہی رقم کے وقت ایک ایسی چیز میں داخل کر سکتے ہیں. تو تم تھوڑی دیر کے لوپ کا استعمال کر سکتے ہیں. کیا جبکہ ایک لوپ کا مقصد - لفظی اپنی ساری زندگی میں صرف ایک بار آپ کیا کبھی استعمال کریں گے جبکہ loops ہے جب آپ کو صارف کی ان پٹ کے لئے پوچھ رہے ہو. تو یہ حقیقت ہم صارف کی ان پٹ کے لئے پوچھ رہے ایک اشارہ ہے کہ ہم کرنا چاہئے ہے کیا جبکہ ایک لوپ استعمال کرتے ہیں. اور کیوں ہے؟ کیونکہ کیا جبکہ لوپ ہمیشہ کم از کم ایک بار ہوتا ہے. تو جب آپ کو صارف کی ان پٹ کے لئے پوچھ رہے ہیں، آپ چاہتے ہیں کہ کم از کم ایک بار ہو. اور پھر اگر چیزیں کامیاب رہے تھے، تم جا رکھ سکتے ہیں. اگر نہیں، تو واپس جاؤ اور پھر سے پوچھنا. ALI تو دوسرے الفاظ میں، ہم سیکشن کرنا ہے. اور اس طرح یہ کہہ رہا ہوں کچھ کرنا ہے. - تو printf بیان، فوری طور پر، بھی اور کردار حاصل، یا کوشش کو پرنٹ ایک کردار حاصل کریں. اور پھر ہم اگر یہ اصل میں یہ چیک کرنے کے لیے صحیح طریقے سے کیا ہے. تو پھر ہم حالات کو شامل، تو ہم جبکہ کہتے ہیں، اور اس کے بعد ہم نے مشروط بیان. روب: لیکن اب ہم سوچ کی ٹرین الٹ ہے. اب ہم اصل میں کہہ رہے تھے اگر سی اور اس کی حد میں ہے، یہ درست ہے. اب ہم اس کو واپس کرنا چاہتے ہیں اور اگر سی اس کے دائرے میں نہیں ہے کا کہنا ہے کہ چاہتے ہیں، تو پھر ہم چیزوں کو دوبارہ کرنے کی حمایت کرنے کی ضرورت ہے. ALI: اوہ، جی ہاں. روب تو جبکہ یہ سچ نہیں ہے، ہم واپس جانے کی چاہتے ہیں ایک اور کردار کے لئے پوچھنا. کیا سب نے یہ دیکھا؟ اس پر سوال؟ ٹھیک ہے. تو اب ہم نے ایک درست کردار ہے کہ ہم بڑے کر سکتے ہیں ہے. ALI: تو uppercasing کے لئے کیا اگلا قدم؟ 23 اسپیکر: 32 لیے. ALI ہیں: آپ کی شامل - معاف کرنا، کیا ہوا؟ 23 سپیکر: آپ نہ صرف 32 کا اضافہ کر سکتے ہیں؟ روب: تو جی ہاں، جادو کی تعداد کے معاملے میں نہیں. تم نے صرف چیزیں ایک اقتباس ہونا چاہئے استعمال کرتے ہوئے. 23 سپیکر: ٹھیک ہے، ٹھیک ہے - لوٹنے لیکن آپ 32 حاصل کر سکتے ہیں - ALI: کس طرح آپ کو 32 نمبر، مجھے لگتا ہے، جو ہم کہہ رہے ہیں. 23 سپیکر: [اشراوی] لوٹتے ہیں تو ہم تعداد مل کر 32 سے آ سکتے ہیں - 23 سپیکر: [اشراوی] روب: جی ہاں. لیکن اگر ہم یہ دو مراحل میں کرنے جا رہے ہیں تو ہم سے پہلے کیا تھا پوزیشن چیزیں. تو حروف ہے کہ سی کا ہے میں پوزیشن سی مائنس چھوٹے 'ایک'. تو اگر ہم ایک چھوٹے D '' میں داخل، پوزیشن 3 جا رہا ہے. اور اب ہم چیزوں کی بڑے رینج چیزیں لے جانا چاہتا ہوں. تو اب ہمارے نئے سی دارالحکومت 'A' پلس پوزیشن جا رہا ہے. تو لوگوں کو دیکھا کہ ہمیں لاتا ہے - ہم چھوٹے رینج سے جا رہے ہیں، عین مطابق گہرائی ہم اس میں تھے ، رینج اور بڑے رینج میں نیچے جا رہا، اور اتنی دور جا اس میں دوبارہ جس میں ایک ہی کردار جا ہے، لیکن اب uppercased. ALI: اور وہ لوگ ہیں جن سے ہے جو کہ آپ نے کس طرح کی طرف سے الجھن میں تھے ہے وہ یہ کہ یہ وہ صرف 32 نے کہا کہ، بنیادی طور پر انہوں نے ایک بیان میں ان میں سے دونوں کو مل کر. تو اس لکھنے کا کہنا ہے کہ تم نے ابھی ابھی قسم کی کر سکتے ہیں کے مساوی طریقہ متبادل پوزیشن، ج مائنس '،' اور اسے یہاں ڈال. تو اس نے کیا کیا، میں مت پہنچاو - چار newc = بڑے 'A' پلس C بغیر 'ایک' چھوٹے. اور اس کی وجہ بیزگنیت، تم ان کے ارد گرد منتقل کر سکتے ہیں. آپ یہ بھی ہے کہ تم اس کے ارد گرد منتقل تو چار newc = بڑے 'A' کہہ سکتے ہیں بغیر '' پلس سی خفی ہے. اور یہ، آپ کو نوٹس اگر ہم چارٹ واپس چلے جائیں گے. ہم بڑے ایک 65 ہے اور چھوٹے ایک 97 ہے. تو 65 - 97 -32 ہے. ہیلو. بیٹھ جاؤ. اوہ. تم یہیں بیٹھ سکتے ہیں. ڈاؤن لوڈ، اتارنا، ٹھیک ہے، بہت اچھا. کے حصے میں آپ کا استقبال ہے. یہ فرق 32 ہے آپکو محسوس کریں گے. تو وہ ہے جہاں وہ اس نمبر مل گیا ہے. لیکن یہ ہے، نہیں روب کا کہنا ہے کہ، ایسا کرنے کا بہترین طریقہ ہے، کیونکہ یہ عجیب ہے جادو نمبر الجھن. روب: آپ کے دارالحکومت کا استعمال کرتے ہوئے ایک منفی ایک چھوٹے چاہئے. آپ کو صرف براہ راست 32 استعمال نہیں ہونا چاہئے. 24 سپیکر: ایسا کیوں ہے، پھر؟ آپ کیوں نہیں 32 استعمال کرنا چاہئے؟ ALI: اگر ہم نے یہ کیا ہے، یہ چار ہو جائے گا newc -32 = + C. اور اگر آپ کو اس کے باقی کسی کو نہیں دیکھ کرتے ہیں، اگر یہ سب کچھ چلا گیا ہے، اور آپ صرف اس ایک لائن دیکھتا ہوں، تو کس طرح تمہیں پتہ ہے کہ منفی 32 ہے؟ اس جگہ سے باہر ہے. لوٹتے ہیں تو آپ کے پروگرام کو مکمل طور پر ٹھیک کام کریں گے. یہ صرف ایک سٹائل کی بات ہے. کسی میں چل رہا ہے اور اپنے کوڈ کو پڑھنے کے، وہ 32 کا کیا مطلب ہے کی طرح ہو؟ وہ شاید مت پہنچاو - میں شاید فوری طور پر نہیں ہے کہ 32 کا ہوتا ہے احساس ایک چھوٹے خط اور ایک بڑے خط کے درمیان فرق ہے، اگرچہ ہم اگلے مسئلہ میں اس حقیقت کو استعمال کرنے کے لئے جا رہے ہیں. 32 - کیا آپ کے پاس اس 32 یہ کہہ کے اوپر ایک تبصرہ کو چھوڑ سکتا ہے کیا فرق ہے 'A' اور '.' لیکن اس وقت، 'A' اور 'ایک'، اور آپ نے ابھی کیوں نہیں استعمال کرتے ہیں تبصرہ کی ضرورت نہیں تو. ALI: یہ ہے اس کے اوپر کے طریقوں کے پاس ہے کہ وہ بہت کلینر، طرز وار ہیں. اور ایسا ہے، تو پروگرامنگ کے بعد آپ نے ابھی شروع کر رہے ہیں - یا مجھے لگتا ہے کہ، نہیں ہے کیونکہ آپ ہیکر edi ہیں - کوئی بات نہیں ہے. یہ صرف ہیں کے لئے ایک اچھا طریقہ ہے - یہ بہتر ہے بہتر سٹائل ہے. یہ دوسرے لوگوں کے لئے پڑھنے کے لئے آسان ہے. روب: آپ ASCII ٹیبل یاد کرنے کی ضرورت کبھی نہیں، کبھی چاہئے. آپ صرف ایک اقتباس حروف کا استعمال کرنے کے قابل ہونا چاہئے. سوال؟ ALI: اچھا ہر کوئی؟ روب: ٹھیک ہے. تو اگلے مسئلہ کافی ہے. چنانچہ اگلے مسئلہ ہم سے پوچھتا ہے - ALI: اگلے مسئلہ ہمارے لئے سے ایک ہی کام کرتے ہیں لیکن استعمال کرنے کے لئے ہے bitwise آپریٹرز. روب اور ظاہر کی، ہم bitwise آپریٹرز نہیں دیکھا ہے ابھی تک. تو ہم ان سے گفتگو کریں گے. ALI: حوصلہ افزائی کی جائے. وہ سپر مزہ ہے. روب تو X علاوہ Y، مائنس، بار تقسیم کی طرح باقاعدہ آپریٹرز،. ALI: یہ فوری طور پر میں یہ ٹائپ کریں. بھی٪، اگر آپ نے اسے نہیں دیکھا ہے، جو آپ کی طرف سے استعمال کر سکتے ہیں: روب فیصد سنہرے بالوں والی. لیکن ہم اس مسئلہ کے لئے ان کا استعمال نہیں کرے گا. ہم bitwise آپریٹرز کو استعمال کرنے کے لئے چاہتے ہیں. اب یاد رکھو، ہم نے اسے ایک لیکچر میں لایا ہے. میں اس بات کا یقین کر لیں کہ اگر ہم اس سے باہر بائنری بات چیت کی ہے نہیں ہوں. لیکن یاد رکھنا کہ ہر ایک نمبر کی نمائندگی ہے - اچھی طرح سب کچھ - بائنری میں 1s اور 0s میں نمائندگی ہے. تو اس کا مطلب ہے کہ جب تم میں سے کسی ایک کو میں 8 تعداد کا کہنا ہے کہ، میں جانتا ہوں کہ ہے ہو جیسے، 1000. کیا bitwise آپریٹرز ہمیں ان بٹس پر کام کیا - ان بٹس پر براہ راست کام کرتے ہیں. اب میں اب آٹھ کی شرائط میں نمٹنے رہا ہوں. میں 1000 کی شرائط میں نمٹنے رہا ہوں، اور میں ان کے ساتھ کام کرنا چاہتے ہیں انفرادی بٹس. تو علی bitwise آپریٹرز یہاں لکھا ہے، لیکن that's - 8 تعداد ہم ہماری مثال نمبر میں سے ایک کے طور پر استعمال کریں گے. اور بائنری نمائندگی 1000 ہے. ہم دوسرے نمبر، 5 کو استعمال کریں گے - اصل میں ہم 9 اور 5 کا استعمال کریں. اور 5 بائنری نمائندگی 00 ہے - 0101. ALI: اس پر سب اچھا ہے؟ بائنری چیزیں؟ یہ پہلا لیکچر سے تھا؟ روب: تو بھی اگر آپ کو مکمل طور پر کے سب سے اوپر پر نہیں ہیں کہ کس طرح چیزوں کو تبدیل کرنے کے لئے بائنری، کہ اس مسئلہ کا مکمل طور پر اہم نہیں ہے. ہم اس کا استعمال کرتے ہوئے کریں گے، لیکن آپ کو بہت زیادہ امکانات کس طرح کرنا پڑے گا فوری طور پر بائنری میں چیزیں بدل جاتے ہیں. تو 9 اور 5 کا استعمال کرتے ہوئے، اب ہم ہمارے bitwise آپریٹرز ہیں. اوہ، اور، 9 اور 5، اگر یہ ایک عدد صحیح ہے، تو واقعی یہ 32 بٹیں ہے، جس کا مطلب ہے کہ ہم 0، 0، 0، 0، جیسے وقت کی ایک بہت ہے، تو اختتام پر 101. یہ صرف اس وجہ سے ہے، integers میں بات جو تم کرتے ہو، 32 بٹیں. صرف اس لئے کہ ہم نے صرف چار بٹیں کی ضرورت ہے 9 کی نمائندگی کرنے کا مطلب یہ نہیں ہے ہم نہیں ہیں صرف 0s کے لئے کا استعمال کرتے ہوئے دوسرے 27 بٹس. ALI: صرف واضح کرنے کے لئے، ان کی تعداد کہ ایک 0 یا 1 ہے میں سے ایک تھوڑا سا ہے. یہ ایک 4 بٹس ہے. تاکہ روب نے کہا کہ مشینیں انہیں 32 میں سٹور. تو پھر وہ یا تو 0 یا 1 32 ہوگا. ڈاؤن لوڈ، اتارنا؟ روب: bitwise آپریٹرز. پہلا یہ ہے کہ ہم سے نمٹنے کے لئے کریں گے ہے. لہذا اگر ہم ایسا کرتے ہیں 9 اور عمومی 5. تو یہ کیا کرتا ہے اور عمومی تھوڑا سا ہے، دو نمبروں کی بٹس کا موازنہ اور اگر کی تعداد کے دونوں ہیں. 1، تو اسے 1 واپس آ جائیں گے. اگر کسی 0 ہے اور دوسرے کو 1، یا دونوں 0s ہے، تو یہ ایک 0 واپس. تو آپ کو اس کے اپنے منطقی ANDs کے طور پر سوچ سکتے ہیں. جیسا کہ تم سچے اور حقیقی سچ واپس کرنے کی ضرورت ہے، لیکن سچ اور جھوٹ باطل ہے. تو یہ ایک ہی بات ہے، لیکن اب ہم صرف بٹس کے ساتھ اس کے ساتھ کام کر رہے ہو. ALI: تو اگر آپ نے اس پر نظر، آپ 1 پڑے گا - آپ ان لائن ہے، تو 1 اور 0 ہو جائے گا کریں گے. کیا تم لوگوں کو لگتا ہے کہ جو ہو گا - کیا کہ اندازہ گی؟ 25 سپیکر: 1. ALI: ڈاؤن لوڈ، اتارنا. یا نہیں. معاف کیجئے گا. تو یہ سمجھ میں آتا ہے ہے؟ تو اجتماعی جواب پھر سے ہے؟ معاف کیجئے گا. لہذا اگر ہم 1 اور 0 ہے، تو پھر آپ کیا حاصل کر سکتا ہوں؟ لوٹتے ہیں تو آپ کو کہ آپ کس طرح کا کہنا ہے کہ میں کیا سوچتے ہیں اور بلند آواز ہے. اگر آپ کے پاس دو بٹس ہے، X اور Y، آپ X اور Y 1 کی ضرورت ہے اس کے لئے حکم صحیح اندازہ - کے لئے یا کے لئے یہ 1 کا اندازہ کرنے. اگر X اور Y 0 ہیں، تو یہ غلط یا 0 تشخیص کرتا ہے. لوکاس: یہ اچھی بات ہے یہ بھی یاد رکھنا کہ 1 سچ ہے اور 0 باطل ہے. تو اگر آپ سچ اور باطل ہے، یہ غلط ہے. لیکن اس وقت، یہ سچ اور سچ ہے، سچ ہے. جھوٹی اور عمومی جھوٹی، جھوٹے. ALI: ہم حقیقی اور عمومی جھوٹے ہیں. 1 اور 0 کے تو. تو پھر، معاف کرنا، ایک بار؟ 25 سپیکر: یہ 0 ہو جائے گی. جی ہاں ڈاؤن لوڈ، اتارنا،. اور پھر ہم 0 & 1 ہے - 25 سپیکر: [اشراوی] ALI: جی ہاں. تو آپ نے ان کو ہمیشہ میں تبادلہ کر سکتے ہیں - پھر اگر آپ 0 اور 0 ہے؟ 4 اسپیکر: 1؟ 0؟ روب: تو اس 0 ہے. ایسا نہیں ہے کہ دونوں کی تعداد اسی ہے. یہ ہے کہ دونوں کی تعداد میں 1 کی ضرورت ہے. ALI تو دونوں حقیقی کے لئے یہ سچ پر ہے. تو اس 0 ہے. اور پھر آپ کو 1 1٪ ہے، جو ہے؟ روب: یہ بہت اچھا تعداد ہیں. وہ سب ممکن ہے - ALI: اچھا کام، واہ. ٹھیک ہے ڈاؤن لوڈ، اتارنا،. تو وہ ہر کسی کو احساس ہے؟ روب: تو اب ہم کیا کریں گے |. اور یہ بہت ہی جا رہا ہے، اب کی بجائے لیکن X اور Y کی ضرورت ترتیب میں 1 کے لئے یہ ایک اندازہ ہے، اب یہ صرف ایکس ہے یا Y 1 کی ضرورت ہے. ALI تو 1 | 0 کی تشخیص کرتا ہے - CLASS: 1. ALI: ڈاؤن لوڈ، اتارنا. 0 | 1 کی تشخیص کرتا ہے - CLASS: 1. ALI: ڈاؤن لوڈ، اتارنا، اور پھر 0 | 0 - CLASS: 0. ALI: جی ہاں، اور پھر 1 | 1 - CLASS: 1. ALI: ڈاؤن لوڈ، اتارنا. جس سے کہ دو bitwise آپریٹرز کی طرح ہے. بہت اچھے. روب: تو اب ہم ^ کروں گا. ALI: ہم نے ان میں سے سب کو کرنا چاہیے؟ روب: جی ہاں، کیونکہ مجھے لگتا ہے کہ ہم اس کو استعمال کرنے کے لئے جا رہے ہیں - ان سب کا استعمال کرتے ہوئے. ALI: ٹھیک ہے. تو - روب: مجھے لگتا ہے کہ ہمیں ضرورت نہیں ہے. ALI تو کام ^ کہ آپ کو ایک بالکل درست اور ایک جھوٹے ہو. ^ خصوصی کا مطلب OR. تو اب یہ نہیں ہے - اگر X اور Y 1 چلارہے ہیں، اب یہ باطل ہے. ^ کے درمیان فرق ہے اور | ہے کہ یا تو، آپ کر سکتے ہیں، اگر X سچ ہے یا Y سچ ہے، تو ہم اچھے ہیں. نہیں، ^ کا کہنا ہے کہ اگر X سچ ہے، Y باطل ہونا چاہیے، یا نہیں تو یہ سچ نہیں ہے. کیا آپ کے پاس ایک سوال ہے؟ 26 سپیکر: [اشراوی] ALI: جی ہاں. یہ اسی طرح کی طرح ہے. روب: جی ہاں، لہذا جب آپ کہ کم سطح کے ہارڈ ویئر کی چیزیں حاصل کرنے کے لئے، یہ آپریشن کی اقسام آپ کے ساتھ کام کر رہے ہیں. ہارڈ ویئر کی سطح پر، آپ بٹس کے ساتھ نمٹنے گا. آپ کی تعداد کے ساتھ نہیں نمٹنے ہے. ALI: ٹھیک ہے، ^، اگر آپ 1 ہے 0 ^، کہ وہ کیا اندازہ کرنا چاہیے؟ CLASS: 1. ALI: ڈاؤن لوڈ، اتارنا. اگر آپ 0 ^ 1؟ CLASS: 1. ALI: ڈاؤن لوڈ، اتارنا. 0 ^ 0؟ ڈاؤن لوڈ، اتارنا. اور 1 تو 1 ^؟ CLASS: 0. ALI: ڈاؤن لوڈ، اتارنا، بہت اچھا. اگلے ایک - روب: مجھے لگتا ہے کہ یہ ہم سب کے ساتھ نمٹنے کے لئے ہے. ہم ان ہی کروں گا. ALI: ایک ہی وقت ہے کہ ہم کرنا پڑے گا - روب: اوہ، جو گزشتہ مسئلہ کے لئے ہو جائے گا. 27 سپیکر: انتظار کرو، ایک بار پھر؟ ALI: معاف کیجئے گا، آپ کے سوال کا کیا تھا؟ 27 اسپیکر: کہ آپ کو ایک بار پھر وضاحت کر سکتا ہے؟ ^؟ 27 سپیکر: Exclus - جی ہاں. ALI: تو کیا ہے خصوصی یا مطلب ہے کہ وہاں صرف ہے ایک حقیقی اور ایک جھوٹے، تو 1 ایک اور ایک 0 کے ساتھ بمقابلہ یا آپ ہے، کر سکتے ہیں - ان میں سے ایک سچ ہے، یا ان میں سے دونوں کو سچ اس کے لئے، ہو سکتا ہے صحیح اندازہ کرنے کے لئے. 27 سپیکر: تو 0 اور 0 باطل ہو جائے گا. ALI: جی ہاں. لیکن اگر آپ 1 ہے | 1، یہ سچ کا اندازہ کریں گے. لیکن اگر آپ 1 ^ 1 ہے، کہ ہم نے کیا، جھوٹے تشخیص کرتا ہے. کیونکہ یہ خصوصی طور پر نہیں ہے ایک سچ ہے. روب: اور یہ یا کر سکتے ہیں مددگار نہیں، لیکن نوٹس کہ ^ | صرف لینے کے برابر مائنس اور اور تم نے اسے اس طرح اصل میں سوچ سکتے ہیں. ^ سب کچھ ORing ہے مل کر لیکن بٹس کے کسی بھی لے جہاں دونوں درست تھے. تو اور سب کچھ جہاں دونوں سچے تھے کو واپس کرتا ہے. | سب کچھ جہاں ایک یا ایک سے دونوں درست تھے واپس. تو اس سے تفریق باہر | ^ دیتا ہے. ALI: کوئی سوال؟ یہ معلومات کا ایک بہت تھا. اچھا ہر کوئی؟ روب: اگلے والوں سے ہم اگلے مسئلہ کے لئے جا سکتے ہیں، سلیش کیا وقت ہوا ہے؟ وہ اگلے مسئلہ جب تک اس کی ضرورت نہیں ہے. علی: میں نے سوچا تھا کہ اس میں سے ایک تھا. لوٹتے ہیں: یہ ایسا نہیں ہے. ALI: کیا آپ کو یقین ہے کہ؟ روب: جی ہاں، میں مثبت ہوں. ALI: اگلے مسئلہ کیوں کر نہ ہم شروع کریں؟ مسئلہ ہے، پھر اسے بڑے چھوٹے سے تبدیل، اور یہ bitwise آپریٹرز کو استعمال کرنے کے لئے وقت ہو گیا ہے. لوٹتے ہیں تو ہم کریں گے - ، 'A'، دارالحکومت 'A' بائنری نمائندگی کے ساتھ شروع جو 65 ہے. تو بائنری میں - تو 'A' = 65، جو بائنری میں =، - میں 0s کی تعداد پنگا جا رہا ہوں -. ALI: تو کرتا ہے کہ ہر کسی کو سمجھ ہے؟ تو، 1، کوئی 2s نہیں، کوئی 4s، 8s نہیں - کوئی 16s، 32s اور پھر ایک 64. روب: جی ہاں، مجھے لگتا ہے کہ یہ بھی ایک بہت 0s. ALI: معاف کیجئے گا. روب: ٹھیک ہے، تو ہم نے 64 سیٹ ہے، اور ہم 1 سیٹ ہے، اور ان کو ملا ساتھ ساتھ، ہم 65 ملتا ہے. ALI: ڈاؤن لوڈ، اتارنا سیم؟ روب: تو اب، 'a'چھوٹے - 97 نوٹس - 97 اور 65 کے درمیان فرق کیا ہے؟ 28 سپیکر: 32. روب: جی ہاں. تو یہ 32 ہے، جو اپنے ہی تھوڑا سا ہے، کہ 110001 ہونے جا رہا ہے. اور یہ تمام ممکنہ حروف کے لئے حقیقی کی جا رہی ہے. تو اگر ہم 'D'، جو 68 جا رہا ہے کے بارے میں سوچتے ہیں کہ 1000011 ہونے جا رہا ہے. اور پھر چھوٹے D '' 68 کے علاوہ 32، جو 100 ہے جو کی جا رہی ہے ایک ہی بات ہے کہ یہ صرف flipping تو پھر 32، 1100011. تو ایک بڑے اور چھوٹے خط کے درمیان فرق صرف flipping ہے کہ پوزیشن 32 بٹ. 29 اسپیکر: یہ نہیں ہے 1000100؟ روب: روکو،، یہ 100 ہے - میں کچھ غلط نہیں کیا ہے. یہ سچ نہیں تھا. میں سوچ رہا ہوں کہ یہ 3 ایک فرق تھا، کیا گیا تھا تو میں نے صرف پھنس آخر میں 3 بائنری. یہ درست ہونا چاہئے. ALI: آپ کا شکریہ. کہ باہر کی طرف اشارہ کرتے ہوئے کے لئے اچھا ہے. وہ تیز تھا. ٹھیک ہے یہ ہے کہ لوگوں کے لئے واضح ہے؟ روب: بڑے اور چھوٹے ورژن کے درمیان فرق یہ ہے ہمیشہ صرف 32 ہو جائے گا، اور یہ ہمیشہ کسی ایک سا ہو رہا ہے ہے کہ دونوں کے درمیان میں تبدیل کرنے کی flipped کرنے کی ضرورت ہے. ALI: تو اس صورت میں، دارالحکومت اور کے درمیان فرق جاننے کے چھوٹے ایک اچھی بات ہے. ، آپ کے کوڈ میں نہیں، لیکن conceptually کم از کم، یہ اچھی ہے. تو تم لوگ آگے بڑھو اور کوڈ ہے کہ خالی جگہ میں اب کر سکتے ہیں. یا ہم اس پر بحث کرنی چاہئے؟ لوٹتے ہیں: ہم صرف بات چیت کر سکتے ہیں. مجھے پتہ نہیں ہے. آپ لوگ کوشش کر سکتے ہیں. تھوڑا کے لئے اپنے آپ کو آپس میں بات کرتے ہیں. ہم آپ کو ایک کوڈ کا موقع دیں گے. [آوازیں INTERPOSING] ALI: - ٹھیک ہے 30 سپیکر: یہ ہیکر مزاحیہ کی طرح ہے. ALI: جی ہاں، ہم صرف خبر کہہ رہے ہو، اس پر سے گزر رہی ہے. لوٹنے اور ہم واپس آ گئے ہیں. ALI: یہ عجیب قسم کا ہے. مجھے لگتا ہے جیسے ہم نے ایک CS50 خبر اسٹیشن ہونا چاہئے اور ہم کر سکتے اصل میں اس طرح بیٹھ جاؤ. روب: ہیکر خبریں. ALI: ہیکر 50 خبریں. ALI کے ذہن میں کوئی سوالات ہوں تو آپ گھبرا رہے ہیں سے پوچھنا بلا جھجھک. روب: کوئی بھی اٹک گئی ہے؟ ALI: جی ہاں، یہ ایک اچھی بات ہے. ALI: رکو، کیا آپ اپنی کرسی میں پھنس جاتے ہیں؟ اوہ. میں تھوڑا متعلقہ تھا. روب: کیونکہ میں نے محسوس کیا کہ ہم کرنا چاہتے ہیں جا رہے ہیں ایک اور bitwise آپریٹر. ابھی کے لئے، صرف چھوٹے بڑے تبدیل کریں. ALI: معاف کیجئے گا، سب اس اعلان کو حاصل کیا؟ ہم بڑے سے چھوٹے جا رہے ہیں. روب: پھر ہم چھوٹے بات چیت اس کے بعد حق پر بڑے گا. اوہ، نہیں. ہم نے اس میں ایک بگ ہے، جس میں، مجھے لگتا ہے، ہم کوشش کی چلانے کے لئے نہیں ہے. جو صرف اتنی ہے کہ چار C لوپ سے باہر کا اعلان کرنے کی ضرورت ہے، کیونکہ اس کی گنجائش لوپ میں محدود ہے. 32 سپیکر: اس صورت میں، کیا یہ غلط ہے ایک نمبر کو استعمال کرنے کے لئے؟ روب: ارے، آپ کی ضرورت نہیں ہے. '-' یا چھوٹے، A''' مائنس دارالحکومت 'اگر میں تم سے بات کی ضمانت دارالحکومت کہ تھا بالکل ایک سا ہے کہ لیکن آپ یہ 32 نہیں جانتے - چیزوں کے ساتھ کام اگر یہ 16 بٹ flipped کیا گیا ہو - یا نہیں، مجھے لگتا ہے کہ یہ wouldn't - یا 64 بٹ flipped، ممکنہ طور پر کیا گیا تھا. لیکن آپ 32 استعمال کرنے کی ضرورت نہیں چاہئے. آپ کو '' مائنس دارالحکومت 'A' چھوٹے بجائے استعمال کر سکتے ہیں. 32 سپیکر: ٹھیک ہے. ہے جو تم کرتے ہو اگر آپ کو لگتا ہے جیسے تم بھی کچھ لکھ رہے ہیں کر سکتے ہیں آپ اس کی وضاحت کر سکتے ہیں سب سے اوپر. تو ہو سکتا ہے کی طرح int اختلاف = '' مائنس دارالحکومت 'A' چھوٹے. اور تو آپ کو فرق بجائے ٹائپ کر سکتے ہیں. یہ درست ہے. لیکن صرف 32 نمبر کا استعمال کرتے ہوئے کی طرح ہے - 33 سپیکر: اگرچہ یہ حقیقت یہ ہے کہ یہ 32 بٹ کی وجہ سے ہے؟ ALI: جی ہاں. روب: ہو سکتا ہے - صرف ضمانت ہم آپ کو بنانے کے لئے کی ضرورت ہے یہ ہے کہ اس کے درمیان فرق اور بڑے ایک سا ہے چھوٹے. اس سے کوئی فرق نہیں کہ یہ 32 بٹ flipped ہے پر ہوتا ہے. وقت کے تحفظات کے لئے، ہم اس پر چلنا شروع کر دیں گے. یہ ٹھیک ہے، اگر آپ کو نہیں ختم کر دیا ہے. اس کے بارے میں فکر نہ کرو. لوٹتے ہیں: یہ سمجھتے ہوئے سی سرمایہ خط ہے - ہم فرض C سرمایہ خط ہے کی ضرورت نہیں ہے. ہم جانتے C اس دیر لوپ کے بعد سرمایہ کا خط ہے - لوپ جبکہ کرنا. تو اس کا مطلب ہے کہ یہ اس 'A' جیسے کچھ لگتا ہے. تو اگر ہم اس کو پیدا کرنا چاہتے ہیں اس 'ایک' 'A'، جو ہم کرنا کی ضرورت ہے؟ تو ہم کس طرح تھوڑا پلٹائیں تبدیل؟ ALI: ہم اسے کس طرح پلٹائیں ہے؟ روب: تو ہم جانتے ہیں کہ ہم 32 بٹ پلٹائیں کرنا چاہتے ہیں. تو ایسا 'مائنس' A '، یا ہم 32 لکھ سکتے تھے، لیکن - یہ بہت، دوسرے کے ارد گرد طریقہ ہے. ALI: ٹھیک ہے تو روب یہاں اس تعداد کا حساب ہے، جادو تعداد 32 ہے. تو اس نے باہر تلاش کرنے کہ بٹ فلپ علاقہ ہے جہاں ہو گی. اور پھر جو ہم ڈال سوال نمبر کہاں ہیں؟ روب: کس طرح ہم اس تھوڑا پلٹائیں ہے؟ بڑے خط کے حوالے سے، یہ 0 ہے، اور ہم 1 بننا چاہتے ہیں. 34 سپیکر: |. روب: جی ہاں. تو یہ ہم سے کہہ رہے ہیں ہم 'A' لے رہا ہے. ہم 0 ساتھ ORing رہے ہیں - 1000 - کہ اور یہ کہ =. ALI کیا ہے کہ ہر کسی کو سمجھ ہے؟ ہم نے بٹ کی طرف سے اس کے ذریعے تھوڑا اگر آپ چاہتے ہیں کر سکتے ہیں. 35 سپیکر: کیا آپ کو [اشراوی]؟ ALI: مائنس علامت کہاں ہے؟ روب: اوہ، تم یہاں کیا مطلب ہے؟ ALI: اوہ، جی ہاں. روب: تو مجھے لگتا ہے کہ یہ ہم ہیں. ہم 32 کا کہنا ہے کہ، اور اب ہم صرف bitwise آپریٹرز کا استعمال کر رہے ہیں کر سکتے ہیں. ALI: ہم جادو کے اعداد و شمار کی طرح نہیں ہے. ہم ایسا نہیں کر رہے ہیں. میں بھی لگتا ہے کہ ہم نے ایک bitwise آپریٹر کا استعمال کرنا چاہئے - اسپیکر 36: اگر آپ کے پاس ایک ^ کا استعمال کرتے ہیں، تو آپ 32 ملے گا؟ 37 سپیکر: جی ہاں، مجھے لگتا ہے کہ - روب: جی ہاں آپ. ALI: یہ ہے کہ آپ کس طرح جانے کے لئے اس میں کیا ہوتا ہے دارالحکومت سے چھوٹے. اب مجھے کسی کو بتانا کیوں روب اور میں فوری طور پر تبدیل کر دیا اور کہ ہم کس طرح چلا گیا بڑے چھوٹے سے کی بجائے چھوٹے بڑے جیسا کہ ہم پہلے کیا؟ کیا کسی کو کوئی خیال کیوں جو زیادہ مشکل ہو سکتا ہے؟ لوٹتے ہیں تو ہم کر سکتے ہیں - ALI: جی ہاں، آگے بڑھو. 38 سپیکر: | آپریٹر صرف انہوں نے مزید کہا کے لئے بہت اچھا تھا. ALI: جی ہاں، بالکل. روب: تو کیا ہم خفی میں کیس بڑے کرنا چاہتے ہیں، اس a''تبدیل - تو ہم کچھ تعداد میں یہاں ڈال دیا اور کچھ آپریٹر تاکہ اسے آتا ہے کا استعمال کرنا چاہتے ہیں دارالحکومت A. ہم اب بھی شاید 32 رہے ہیں کسی نہ کسی طرح استعمال کرتے ہوئے، لیکن اب کس طرح کر ہم اس کے باہر آنے کی؟ ج تو - اوہ، میں اب بھی وہ بھی چاہتے ہیں - ALI: ہم، پھر تو اب اگر ہم چھوٹے سے تبدیل پھر بڑے رہے ہیں ^ آپریشن کرنا، کیونکہ تم لوگ کا کہنا ہے کہ. روب: دوسرے طریقوں سے آپ باتیں کر سکتے ہیں ہیں. bitwise آپریٹرز کے ایک بہت معاملے میں بہت آسانی سے definable ہونے ختم دیگر bitwise آپریٹرز کی. تو میں ^ یا بالکل نہیں کرنے کے لئے استعمال ہو رہا ہے، کیا گیا تھا لیکن ^ بالکل ٹھیک کام کیا. ALI: ٹھیک ہے، تو ہم آخری مسئلہ ہے، جس میں بنیادی ہے میں جانے کے لئے جا رہے ہیں - گزشتہ مسئلہ بائنری میں کچھ تبدیل کرنے کی ہے. لہذا مثال کے طور پر، آپ 50 ہے، اور اس کے بعد آپ اسے تبدیل کرنے بائنری، جو 110010 ہے. اور مجھے لگتا ہے کہ آپ لوگ سب لیکچر سے بائنری کے بارے میں جانتے ہیں. اور آپ کو یہ بھی چاہیے اس میں کسی بھی اہم 0s ڈال نہیں کر رہے ہیں. روب: اب آپ کے لئے اس حصے کو نظر انداز کر سکتے ہیں. پہلا پاس، کیا تم ایسا ہے کہ معروف 0s ہیں کر سکتے ہیں. اور پھر ہم پر نظر ثانی کہ کوئی اہم 0s، اگر ہمارے پاس وقت ہے کر سکتے ہیں. ALI تو اس کے بارے میں فکر مت کرو. بائنری میں حاصل کرنے کی کوشش کریں. شروع کرنے کے لئے ایک اچھی جگہ ہو گی - لوٹتے ہیں: ہم ایک عددی کے لئے طلب کرنے کی ضرورت ہے. ALI: اوہ، جی ہاں، یہ ایک اچھا ہے. ہم اس کے ساتھ شروع کر سکتے ہیں. تو آپ فوری طور پر تبدیل کر سکتے ہیں. تو کردار کی بجائے، اب ہم integers کے ساتھ کام کر رہے ہو. ڈاؤن لوڈ، اتارنا؟ روب: اب اور کیا ہے ہمارے کیا جبکہ حالت ہونے جا رہا ہے؟ یہ ایک غیر منفی عدد صحیح کے لئے پوچھ رہا ہے. ALI: جب ہم صارف نے فورا ہی کچھ اور کے لئے رکھنے کے لئے چاہتے ہیں؟ جب یہ 0 سے چھوٹا ہے. ALI: ٹھیک ہے. روب: جب میں 0 سے کم ہے. ALI: اب ہم اسے تبدیل کرنا چاہتے ہیں. کیا تم لوگ کیا کرنا کوئی خیال ہے؟ کوئی inklings؟ جی ہاں. 39 اسپیکر: کیا ہم اسے تبدیل کرنے کا ہے، یا ہم کچھ 0s اور 1s پرنٹ کر سکتے ہیں یہ درست نمبر ہو گا؟ آپ کو لوپ کے لئے اور 2 طاقتوں کی طرف سے شمار کر سکتے ہیں؟ روب: جی ہاں. کیا میں تمہیں اس بائنری میں تبدیل کرنے کی ضرورت نہیں ہے - میں کی بائنری نمائندگی میں کے اندر کے قابل نہیں ہوں گے. آپ کو صرف میں کی بائنری نمائندگی کو پرنٹ کرنے کے لئے کی ضرورت ہے. ALI: دوسرے الفاظ میں، آپ کو دو کے اختیارات کی طرف سے جانے کی ضرورت نہیں ہے. روب: کیونکہ میں نے پہلے ہی binaries کے طور پر محفوظ کیا جا رہا ہے، تاکہ آپ کی ضرورت نہیں کرتے بائنری اسے تبدیل. اس بائنری پر جاؤ، اور پرنٹ. اور تم bitwise استعمال کرنے کی ضرورت پر جا رہے ہیں، کیونکہ آپ کو دیکھنے کے لئے چاہتے ہیں اصل بٹس. آپ bitwise استعمال کرنے کے لئے کی ضرورت نہیں ہے، لیکن براہ مہربانی کیا. اور یہ اصل میں ہے - آپ کو 2 کی طرف سے ضرب کی طرف سے دو کے اختیارات صرف کر سکتے ہیں. ، ہم گزشتہ دو بائنری bitwise آپریٹرز میں سے ایک سے زیادہ ہوں جو اس میں سے ایک ہے. تو جب آپ لے - ALI: آپ کو ان میں سے دونوں کے ذریعے جا سکتے ہیں؟ روب: جی ہاں. تو 9 کے ساتھ جانا ہے. تو 9 بائیں 1 تبدیلی - تبدیلی کا مطلب کیا چھوڑ دیا صرف بائیں تمام بٹس منتقل 0 داخل. تو ہم بائیں ایک 9 بٹس جا رہے ہیں پوزیشن، جو ہمیں دیتا ہے - تو محسوس ہم نے منتقل کر دیا گیا ہے سب کچھ چھوڑ دیا، اور پر 0 ڈالا دائیں جانب. اگر ہم منتقل دو چھوڑ دیا تھا، ہم دو چھوڑ سب کچھ منتقل کریں گے، اور خلیج میں بھرنے کے لئے دو 0s ڈالیں. سوال؟ ALI: تو صحیح تبدیلی اسی طرح کی ایک چیز ہے. اگر آپ کے پاس 9 صحیح 1 تبدیلی ہے تو پھر آپ صرف سب سے زیادہ رہے ہیں منتقل ٹھیک ہے، تم ایک ایشو، تو 100 کے بجائے کھو. روب: تو کیا تم یہ ٹھیک ہے کہ آپ تھوڑا ہے کہ تمام ہوا سے محروم کر رہے ہیں کو درست کرنے کا راستہ ہے. صحیح شفٹوں کے مختلف اقسام ہیں، لیکن بنیادی طور پر آپ کے بارے میں سوچ کر سکتے ہیں ٹھیک 2 کی طرف سے صرف تقسیم کے طور پر جاتے ہیں. اور تم بائیں شفٹ کے 2 کی طرف سے ضرب کے طور پر سوچ سکتے ہیں. لہذا اگر آپ کو یہ تبدیل - اگر آپ کو 9 1 تبدیلی، جس میں 10010 کے برابر ہے تبدیل کر دیا، اگر آپ واقعی گئے بائنری کے ذریعے اور سوچا وہ کیا تھا، اس نے 18 ہو جائے گی. ہم صرف 2 کی طرف سے ضرب ہے. 1001 بائیں شفٹ 2 36 جا رہا ہے. ہم نے 4 کی طرف سے ضرب ہیں. ٹھیک ہے، ڈاؤن لوڈ، اتارنا، تو ہے کہ اس کے لئے ایک ہاتھ bitwise آپریٹر ہے. مزید الجھن ہے؟ کیا تم لوگ اسے باہر کرنے کی کوشش کرنا چاہتے ہیں؟ یا ہم حق اور اسے شروع کود کر سکتے ہیں؟ روب: ہم اندر شاید کود کرنا چاہئے ALI: جی ہاں، ٹھیک ہے. لوٹتے ہیں اور اس کے ذریعے ایک ساتھ چلنا. ALI: میں اس میں چلے جائیں گے. تو کے طور پر انہوں نے شروع میں کہا تھا کہ ہم بٹ کے ذریعے بٹ کی طرف سے جا رہے ہیں. تو ہم ایک لوپ کی ضرورت کے لئے جا رہے ہیں. کیا کوئی لوپ کی سب سے بہترین قسم کو اس کے ذریعے جانے کے لئے ایک خیال ہے؟ ہم نے جبکہ loops ہے، کیا جبکہ loops، loops کے لئے. 40 اسپیکر: لوپ کیا جبکہ؟ روب: تو یاد رکھو جو کے بارے میں میں نے پہلے کہا، ہم صرف استعمال کر رہے ہیں کیا جبکہ loops صارف کی ان پٹ کو حاصل کرنے کے لئے. تم نے کسی اور چیز کے لئے بہت زیادہ کبھی ان کا استعمال کریں گے. ALI: کے ساتھ مسئلہ کیا ہے جبکہ loops ہے کہ یہ کچھ کرتا ہے اس سے پہلے اس کے لئے چیک کرتا ہے حالت. تو، یہ کچھ برا کر سکتا - پسند ہے، چوٹ - کچھ یہ ممکن نہیں ہے. تو آپ سب سے پہلے چیک کرنے کے لیے کرنا چاہتے ہیں. روب: مقدمات کی ایک بہت ہے جہاں آپ نے کیا جبکہ loops کا استعمال کر سکتے ہیں، لیکن لوگوں کو کیا تم نے انہیں جب تک یہ صارف کی ان پٹ ہے استعمال کرنے کے لئے کی امید نہ رکھنا. تو ہم نے استعمال کیا ہے ہماری کیا جبکہ لوپ میں حاصل کرنے کے لئے. کتنی بار ہماری لوپ لوپ کرنا چاہتے ہو رہا ہے؟ ہم میں کی بٹس میں سے ہر ایک سے زائد لوپ کرنا چاہتے ہیں. میں کتنے بٹس ہیں؟ 41 سپیکر: 32. ALI: جی ہاں. روب: تو 32 بٹیں ہیں. ہم 32 کا کہنا ہے کہ نہیں کرنا چاہتا. ہم بجائے sizeof کہنا چاہتے ہیں - جو، کہ تم کلاس میں ابھی تک دیکھا ہے؟ ALI: نہیں. روب: کیوں اس کا استعمال کرنے کے لئے کہتا ہے - sizeof (int) 8 اوقات - ALI تو، sizeof ہے - 42 سپیکر: [اشراوی] ALI: دلچسپ. تو، sizeof ایک بلٹ-C تقریب ہے جہاں یہ صرف آپ کو بتاتا ہے بٹس میں نمبر - روب: بائٹس. ALI: بائٹس، افسوس - بائٹس ہے کہ ایک متغیر کی قدر محفوظ ہے کی تعداد. تو مجھے لگتا ہے کہ وہ کلاس میں گئے، تو ایک int 4 بائٹس ہو سکتا ہے. ڈاؤن لوڈ، اتارنا؟ روب: لیکن آپ یہ معلوم کرنے کی ضرورت ہے کہ ایک int 4 بائٹس ہے نہیں ہونا چاہئے. تمہارے کہنے کے قابل ہونا چاہئے - آپ sizeof (int) کا استعمال کرتے ہوئے 4 بائٹس کو حاصل کرنے کے لئے کرنا چاہئے. اور یہ کہ کچھ چیزوں کے لئے واقعی اہم ہے. ایک int 4 بائٹس نہیں ہو سکتا ہے. دوسرے کمپیوٹر پر، ایک int 8 بائٹس ہو سکتا ہے. تو آپ کا پروگرام ہے کہ کمپیوٹر پر کام نہیں کرے گا کیونکہ آپ کو 32 مشکل کوڈت اس کمپیوٹر پر بٹس جب 64 بٹس ہوتا ہے. ALI: تو آپ بٹس ہے کہ آپ اس کا راستہ چاہتے ہیں کی کل تعداد ہے. لوٹنے اور ایک بائٹ اور بٹ کے درمیان فرق ہے کہ وہاں ایک بائٹ میں 8 بٹس ہیں. تو sizeof (int) 4 بائٹس واپس آئے، تو ہم اس کا معنی یہ ہے 8 کی طرف سے 32 بٹیں کو حاصل کرنے کے لئے. ALI ٹھیک ہے، تو ہم زیادہ سے زیادہ جانتے ہیں اور ہم جانتے ہیں کہ ہم سے جانا چاہتا ہوں - ہم نے ان تمام کے ذریعے جانا چاہتے ہیں. تو ہم 0 سے numBits جانا چاہتے ہیں. تو کسی کو بھی پتہ چلے گا کہ کس طرح اس کے لئے لوپ لکھنے کرتا ہے؟ کوئی ہے؟ 43 سپیکر: [اشراوی] ALI تو آپ zeroth بٹ سے تعداد میں گزرنا کرنا چاہتے ہیں سب سے پہلے تھوڑا سا، دوسرا بٹ، تیسری بٹ، numBits کرنے کا طریقہ ہے. بٹس کہ آپ حاصل کر سکتے ہیں کی زیادہ سے زیادہ تعداد ہے. روب: عام لوپ ہم استعمال کرتے ہیں جو ہم نے کچھ ایکس اوقات کرنا چاہتے ہیں کیا کیا ہے؟ ALI: ٹھیک ہے. تو ہم نے کے لئے. اور پھر ہم ایک iterator تشکیل دیں گے، جس میں نہیں ہے. روب: J. ALI: J = 0. تو ہم نے 0 میں شروع کر دیں گے. اور پھر ہم اس بات کو یقینی بنانے کے لئے حالت ہے، رہے ہیں جبکہ آپ ہیں اس کے ذریعے ہر ایک وقت - [آوازیں INTERPOSING] روب: J. ALI: J numBits سے کم ہے. تو ہم اصل ایک برابر کرنا چاہتے ہیں نہیں، کیونکہ وہ numBits ہیں کل، اور ہم نے 0 میں شروع. تو ہم واقعی جا رہے ہیں - 44 سپیکر: اوہ. ALI: اشاریہ جات 1 مائنس numBits میں ختم نہیں کرتے. روب: ہم بٹس کا ٹھپہ لگانے 0 31، ہم ان کا لیبل نہیں 1 32. ALI: اور پھر ہم ایک کی طرف سے ہر وقت پر اضافہ کرنے کے لئے، جا رہا ہے کیونکہ ہم چاہتے ہیں کر رہے ہیں ہر ایک چیک کرنے کے لیے. تو ہم J جائیں گے + + 45 اسپیکر: کہ تم کیوں کر رہے ہیں؟ 46 اسپیکر: تم ہر بٹ کے ذریعے کیوں جا رہے ہیں؟ لوٹتے ہیں تو ہم ہر بٹ کے ذریعے جانا چاہتے ہیں اور - تو کا کہنا ہے کہ ہم نے کچھ تعداد ہے. ALI: 68. روب: ہم 68 استعمال کر سکتے ہیں. تو بائنری 100100 ہونے جا رہا ہے. تو اس میں کے اندر ہے اور ہم ان بٹس میں سے ہر ایک پر جانے کے لئے چاہتے ہیں. اسے 1 ہے؟ 1 پرنٹ کریں. یہ 0 ہے؟ 0 پرنٹ کریں. اس کے بعد ہم اگلے کچھ جانا. اسے 1 ہے؟ 1 پرنٹ کریں. 0؟ 0 پرنٹ کریں. ALI: ڈاؤن لوڈ، اتارنا، ٹھیک ہے. اب ہم جہاں کہ تھوڑا سا ہے کے لئے صحیح انڈیکس میں ہیں. ہم اس مخصوص ایک کیسے چیک کر سکتا ہوں؟ چلو کا کہنا ہے کہ ہم J = 0 میں ہو، تو ہم سا 0 انڈیکس چیک کرنے کے لیے کرنا چاہتے ہیں. لہذا، اس صورت میں، اس سے ایک ہے. تو اب ہم کس طرح کے بارے میں چیک کرنے کے لیے جاتے ہیں - اوہ، اس جائے گا. روب: جی ہاں. ALI: معاف کیجئے گا. ہم وہ جانچ پڑتال کے بارے میں کس طرح، ایک لحاظ میں جا سکتا ہے؟ اگر ہم یہ 0 یا 1 ہے کیسے چیک کریں گے؟ ویسے let's - CLASS: 1؟ ALI:؟ جی ہاں. روب: تو چلو کا کہنا ہے کہ ہم نے پہلے سے ہی 1 ہے. اس کے بعد اور اس میں واپس چاہے وہ 1 یا 0 تھا. ALI: تو ہم نیچے جا سکتے ہیں. اور ہم کے طور پر تم لوگ نے ​​کہا کہ اور عمومی تقریب کرنے کے کرتے ہیں، کر سکتے ہیں. روب: int - مجھے یہ کہنے کے لئے کہ کس طرح کرنا چاہتے ہیں - isOne = میں. اور سب سے پہلے تھوڑا سا ہم دیکھ ہو کے لئے، ہم میں & 1 کر رہے ہیں. اب کیا ہم & کی طرف سے دوسری سا کرنا چاہتے ہیں کے لئے جا رہے ہیں؟ 47 سپیکر: 2. روب: جی ہاں، دوسری کہ ہم 2 پر ہیں. ALI: آپکو محسوس ہو گے کہ 1 بائیں ایک کو منتقل کر دیا گیا ہے. تو ہم سے bitwise آپریٹرز سیکھا ہے اس تقریب کو کرنا ہے؟ روب: اگلے ایک - ALI: جی ہاں، ٹھیک ہے، بالکل. تو یہ ایک بائیں تبدیلی ہے. 1 کے ساتھ ہمیشہ کی جانچ پڑتال کرنے کے بجائے، ہم اسے تبدیل کرنے جا رہے ہیں. اور کتنی بار ہم اسے تبدیل کرنے جا رہے ہیں؟ اگر ہم zeroth ایک کی جانچ پڑتال کر رہے ہیں، تو پھر ہم اسے صفر کو منتقل کی جا رہے ہیں. جی ہاں، بالکل. تو آپ J کی طرف سے یہ منتقل چھوڑ دیا. ٹھیک ہے. تو اب ہم جانتے ہیں - ہم اگر اسے 1 ہے اس int ہے، اور اس کے بعد - دھوکہ دہی کا روب یہاں قسم - اور اس طرح اب وہ آگے جانے کیا گیا تھا اور وہ صرف یہ کہہ رہا ہوں کہ اگر یہ اصل میں 1 ہے، کیونکہ 1 صحیح اندازہ کرتا ہے، تو ہم کہتے ہیں isf isOne 1 برابر نہیں - isOne اگر پھر ہم 1 پرنٹ، اور دوسری صورت میں ہم 0 پرنٹ. روب تو ہمارے پروگرام میں مجموعی طور پر بگ ہے. ٹھیک ہے، یہ پہلا سوال. 48 اسپیکر: کبھی آپ کو چار آپریشن کے حصہ کے اندر isOne ڈال کر سکتے ہیں اور تو یہ آخری حصے کے طور پر خود کو منتقل؟ تو isOne اور پھر 1 برابر - روب: جی ہاں، آپ یہ کر سکتے ہیں. ہم اصل میں ہے کہ ایک بار ہم مسئلے جو میں نے کرنے کے بارے میں ہوں ٹھیک دکھا سکتے ہیں تم سب کے ساتھ بات چیت. نوٹس تاکہ ہم چیزوں پر جا رہے ہیں. اس بائنری نمائندگی کو دیکھتے ہوئے، ہم zeroth بٹ کے ساتھ شروع کر رہے ہیں. اگر یہ 0 ہے، تو ہم چھپائی رہے ہیں - ٹھیک ہے، یہ 0 ہے، تو ہم 0 پرنٹ کر رہے ہیں. پھر ہم دوسری بٹ جانے کی. یہ ایک 0 ہے، تو ہم 0 پرنٹ. اس کے بعد ہم تیسری بٹ جانے کی. 1 ہے، تو ہم 1 پرنٹ. ALI تو یہ پیچھے کی طرف جا رہا ہے. تو کس طرح لوگ آپ کو مشورہ ہے کہ ہمیں درست کریں اور دوسری طرف جانے کی ہے؟ 49 سپیکر: [اشراوی] روب: جی ہاں. لہذا، ہم 0 سے numBits جانے کی بجائے numBits بٹس سے 0 چلے جائیں گے. ALI تو [اشراوی] دوسری طرف ہمیشہ جا سکتے ہیں. روب: NumBits مائنس 1، کیونکہ اس میں اس کا آخری nubmer ہے - ALI: کیونکہ یہ 0 سے 31 تک جاتا ہے. اور پھر ہم ہمیشہ اس بات کا یقین کر لیں کہ کہ یہ 0 سے بڑا ہے تو تم نہ جاؤ گے بہت دور کو درست کرنے کے. اور پھر آپ 1 کی طرف سے ہمیشہ حق پر جانے کے لئے منہا کریں گے. روب تو اب ہم ایک ریورس لوپ ہے، اور نمبر پرنٹنگ میں واپس آ گیا ہے صحیح طرح سے. 50 سپیکر: کیا آپ کو تبدیلی بات کو بھی تبدیل نہیں؟ ALI تو نہیں. روب: اب ہم ایک ہی عین مطابق آپریشن کے علاوہ کر رہے ہیں، معکوس ترتیب میں. تو مائنس 1 numBits کی طرف سے منتقل کرنے کے بجائے یہ جو کچھ بھی حاصل کرنے کے لئے سا کہ گزشتہ کرنے کے بجائے ہے، ہم یہ صرف پہلے کر دونگا. اس کو تبدیل یہاں سے، ہم نے ہر چیز کے حکم reverse کہ اندر کیا ہوتا ہے. لیکن ہم کو تبدیل کرنا چاہتے ہیں کہ اندر کیا ہوتا ہے بالکل نہیں ہے. ALI: کیا اس کا کوئی مطلب ہے؟ پروسیسنگ؟ ٹھیک ہے، تو کسی اور کسی دوسرے تصوراتی سوال ہے؟ ALI: اس سے پہلے کہ ہم اس کے نقطہ میں ہے - ALI: ٹھیک ہے، اچھی طرح جاؤ. J کا استعمال کرتے ہوئے ہمارا کرنے کے بجائے - لوٹنے جے استعمال کرتے ہوئے ہمیشہ ایک بائیں شفٹ J کی طرح کی طرف سے منتقل، کرنے کے بجائے، مجھے لگتا ہے آپ کو کہہ رہا ہے پسند، J ہی استعمال کرنے کے لئے کر رہے ہیں. تو J - مجھے لگتا ہے کہ یہ مشکل ہے - J = 1 31 <<. یہ ہے کہ جو میں چاہتا ہوں؟ مجھے لگتا ہے << 31. J> = 1. J >>، >> isOne میں، اور عمومی J - تو اب کی بجائے استعمال کرتے ہوئے - ALI: آپ مسلسل ایک ہونے کے بجائے J رہے ہیں منتقل اسے چیک کرنے کے لیے فہرست. یہ اتنا برا نہیں ہے. ہم منطق کی اسی طرح کی قسم کا استعمال کرتے ہوئے کر رہے ہیں. تو اگر تم واپس جاؤ - اوہ، لیکن یہ اسے کھونا جا رہا ہے. ٹھیک ہے، آپ کو صرف اسے دوبارہ ٹائپ جا رہے ہیں. اگر آپ کو نوٹس ہے کہ ہم بار 1 << J رقم ہے، اور ہم تھے J ایک اضافہ کی طرف سے ہر ایک وقت incrementing، لیکن اس کی بجائے اس وقت وہ لوپ کے لئے اندر سب سے اوپر دیئے گئے J کا اضافہ کر رہے ہیں. تو بجائے اس کے کہ وہ ہمیشہ منتقل نیچے - روب: لوپ کے لئے بہت پہلے iteration، ہم J 10000 ہے. لوپ کے لئے اگلے iteration 01000 ہے. اگلے iteration ہے. اور صرف 1 نیچے پروموشن رکھنے کے لئے کی جا رہی ہے جب تک ہم بہت مارا آخر، اب جہاں یہ یہ ہے. اگلے ایک، 1 سے دور دھکیل دیا، ہے اور J نہیں ہے زیادہ سے یا 1 کے برابر ہے. میں 0 سے بڑا ہے، ایک ہی فرق بھی ڈال سکتے ہیں. اور پھر یہ بات ہے. سوال؟ جی ہاں. 51 سپیکر: [اشراوی] روب: تو اس طرح کے طور پر ایک ہی ہے - کیا تم نے J + 3 = دیکھا ہے؟ تو یہ 3 J = J + کے طور پر ایک ہی ہے؟ تو آپ کو تقریبا C. میں کسی بھی آپریٹر کے لئے ایسا کر سکتے ہیں، J >> = 3 ہے J = J >> 3 کے برابر ہے. تو جو bitwise آپریٹرز کے ساتھ بھی کام کرتا ہے. اور میں 31 نہیں کرنا چاہیے یہاں ڈال دیا. 1 - میں numBits ڈال دیا جانا چاہئے. ALI: Yay، کوئی جادو کی تعداد. ٹھیک ہے، یہ اگرچہ 4:00 ہے، اگر ایسا ہے تو تم لوگوں کو جانا ہے - لیکن اس کا کوئی مطلب ہے؟ کیا تم لوگ کوئی اور سوال ہے؟ روب: میں نے بھی اس میں اگر ہم چاہتے تھے پھینک جا رہا تھا - ہے وہ بالکل نے تہرا آپریٹر پر بحث کی ہے؟ ALI: نہیں. یہ ٹھیک ہے. روب: تو تم نے اس میں اگلی بار کے لئے تلاش کر سکتے ہیں. ALI: ٹھیک ہے، سچ میں؟ اب تم صرف دکھاوا کر رہے ہیں. روب: نہیں، اب it's - یہ وہی ہے جو لوگوں کو دلچسپی ہو جاتا ہے، اور اب وہ اس میں نظر جائیں گے. تو اب، ہے کہ ایک قدم میں ایک ہی بات کرتا ہے. میں & 1 J تو سب سے پہلے چیک کرنے کے لیے ہے؟ کیا یہ سچ ہے؟ اگر ایسا ہے تو، 1 پرنٹ، اور، 0 پرنٹ. ALI: لیکن یہ کر دوسرے راستے بالکل ٹھیک بھی ہے. یہ وہی منطق ہے. تو اس طرح سے ایک ہے نہیں ہے - روب: اس وقت، ہم ان گھوبگھرالی منحنی خطوط وحدانی کے چھٹکارا، کر سکتے ہیں کیونکہ یہ صرف ہے لوپ کے لئے ایک لائن. ALI: ٹھیک ہے، تاکہ اس کا کوئی مطلب ہے؟ یہ ایک چھلانگ کی طرح تھا. لیکن یہ نحو کی قسم، اس. ڈاؤن لوڈ، اتارنا؟ کوئی سوال؟ روب: ٹھیک ہے. ALI: ٹھیک ہے، ڈاؤن لوڈ، اتارنا،. کے حصے میں آنے کے لئے شکریہ.