1 00:00:07,632 --> 00:00:10,270 [Powered by Google Translate] اردن JOZWIAK: قسم کاسٹنگ، سادہ معنوں میں ہے 2 00:00:10,270 --> 00:00:13,300 کی طرف سے کچھ اعداد و شمار کے ایک کمپیوٹر کی تشریح میں تبدیلی کرنے کا طریقہ 3 00:00:13,300 --> 00:00:16,560 لپیٹ یا واضح طور پر اس کی ڈیٹا کی قسم کو تبدیل کرنے. 4 00:00:16,560 --> 00:00:19,940 ایک، فلوٹ، یا اس کے برعکس کرنے کے لئے ایک int تبدیل کرنے کے طور پر اس طرح کے. 5 00:00:19,940 --> 00:00:21,550 قسم کاسٹنگ کو سمجھنے کے لئے، ہم کرنے کی ضرورت ہے 6 00:00:21,550 --> 00:00:22,680 مبادیات کے ساتھ شروع - 7 00:00:22,680 --> 00:00:24,140 ڈیٹا کی اقسام خود. 8 00:00:24,140 --> 00:00:26,960 C طرح کمپیوٹر کی زبانوں میں، تمام متغیر کسی قسم 9 00:00:26,960 --> 00:00:29,690 ڈیٹا کی قسم ہے کہ کس طرح کمپیوٹر، اسی طرح کا تعین کرتا ہے اور 10 00:00:29,690 --> 00:00:32,140 صارف، اس متغیر کی وضاحت. 11 00:00:32,140 --> 00:00:35,160 عددی جیسے ایک int، طویل طویل، فلوٹ اور کے طور پر ڈیٹا کی اقسام 12 00:00:35,160 --> 00:00:38,110 ڈبل، یہ ہے کہ یہ سب ان کی اپنی منفرد خصوصیات ہیں اور 13 00:00:38,110 --> 00:00:41,370 حدود اور صحت سے متعلق مختلف اقدار کی وضاحت کرنے میں استعمال کیا جاتا ہے. 14 00:00:41,370 --> 00:00:44,800 قسم کاسٹنگ ہماری طرح چل نقاط تعداد لینے کے لئے کی اجازت دیتا ہے 15 00:00:44,800 --> 00:00:49,170 3،14 اور دشملو سے پہلے حصہ، اس کیس میں 3 حاصل، 16 00:00:49,170 --> 00:00:51,590 یہ ایک int ڈال کر. 17 00:00:51,590 --> 00:00:53,900 چلو ایک مختصر کے لئے انگریزی زبان کی طرف سے ایک مثال لے 18 00:00:53,900 --> 00:00:56,910 اقسام کا جائزہ لینے کے، اور قسم کاسٹنگ کس طرح تبدیل کر سکتے ہیں 19 00:00:56,910 --> 00:00:59,380 جس طرح ہم نے اعداد و شمار کا ایک ٹکڑا تشریح ہے. 20 00:00:59,380 --> 00:01:05,269 معلومات کے لئے، علامات یہاں لے. 21 00:01:05,269 --> 00:01:07,570 میں صرف کے طور پر ان احتیاط سے ترتیب دیا لائنیں کا حوالہ 22 00:01:07,570 --> 00:01:10,100 علامات، لیکن کوئی جو انگریزی زبان جانتا ہے کے طور پر، 23 00:01:10,100 --> 00:01:12,750 آپ فوری طور پر تسلیم کرتے ہیں کہ وہ حقیقت میں ہیں، خط. 24 00:01:12,750 --> 00:01:15,580 تم نے لپیٹ ڈیٹا کی قسم کو سمجھا. 25 00:01:15,580 --> 00:01:17,620 کی تلاش میں حروف کی اس سٹرنگ میں ہم دونوں دیکھ سکتے ہیں 26 00:01:17,620 --> 00:01:20,140 مختلف الفاظ کے اپنے مطلب کے ساتھ ہر ایک. 27 00:01:20,140 --> 00:01:25,530 ہوا باہر چل رہی ہے میں سنجشتھا، ہوا، ہے. 28 00:01:25,530 --> 00:01:28,280 اور اس فعل ہے، ہوا ہے، کے طور پر میں کرنے کی ضرورت ہے 29 00:01:28,280 --> 00:01:31,410 میری analogue گھڑی ہوا. 30 00:01:31,410 --> 00:01:33,420 یہ ایک دلچسپ مثال ہے، کیونکہ ہم دیکھ سکتے ہیں 31 00:01:33,420 --> 00:01:36,270 کس طرح کی قسم ہے کہ ہم اپنے ڈیٹا تفویض، چاہے سنجشتھا یا 32 00:01:36,270 --> 00:01:39,080 فعل میں تبدیلی، کہ ہم کس طرح ہے کہ ڈیٹا کا استعمال کرتے ہیں - 33 00:01:39,080 --> 00:01:41,730 لفظ کی ہوا یا ہوا کے طور پر. 34 00:01:41,730 --> 00:01:44,100 اگرچہ ایک کمپیوٹر گرائمر اور حصوں کے بارے میں پرواہ نہیں کرتا 35 00:01:44,100 --> 00:01:47,750 انگریزی تقریر کی، اسی بنیادی اصول لاگو ہوتا ہے. 36 00:01:47,750 --> 00:01:50,290 یہ ہے کہ، ہم عین مطابق کا فرمان ہے کو تبدیل کر سکتے ہیں 37 00:01:50,290 --> 00:01:53,140 ایک ہی کی طرف سے یاد میں ذخیرہ کردہ ڈیٹا صرف یہ ایک ڈال 38 00:01:53,140 --> 00:01:54,576 مختلف قسم. 39 00:01:54,576 --> 00:01:57,250 یہاں ایک 32 بٹ پر سب سے زیادہ عام اقسام کے سائز ہیں 40 00:01:57,250 --> 00:01:58,340 نظام کام. 41 00:01:58,340 --> 00:02:02,070 ہم 4 بائٹس میں 1 بائٹ int، اور فلوٹ، ایک طویل ایک چار ہے 42 00:02:02,070 --> 00:02:04,390 طویل اور 8 بائٹس میں ڈبل ہے. 43 00:02:04,390 --> 00:02:07,670 کیونکہ ایک int 4 بائٹس لیتا ہے، یہ 32 بٹیں لے جائے گا 44 00:02:07,670 --> 00:02:10,060 جب یہ ایک بائنری سیریز کے طور پر میموری میں محفوظ کیا جاتا ہے 45 00:02:10,060 --> 00:02:11,500 zeros اور ہیں. 46 00:02:11,500 --> 00:02:14,020 ہمارے متغیر کے طور پر جب تک ایک قسم، int کے طور پر رہتا ہے 47 00:02:14,020 --> 00:02:16,740 کمپیوٹر کے وہ لوگ ہیں اور zeros سے ہمیشہ تبدیل گا 48 00:02:16,740 --> 00:02:19,120 اصل تعداد میں بائنری. 49 00:02:19,120 --> 00:02:21,270 تاہم، ہم ان 32 نظریاتی طور پر ڈال کر سکتے ہیں 50 00:02:21,270 --> 00:02:23,510 بولین کی اقسام میں سے ایک سیریز میں بٹس. 51 00:02:23,510 --> 00:02:26,090 اور پھر کمپیوٹر ایک بڑی تعداد اب نہیں، لیکن دیکھو گے 52 00:02:26,090 --> 00:02:28,810 بجائے zeros اور ہیں کا ایک مجموعہ ہے. 53 00:02:28,810 --> 00:02:31,570 ہم یہ بھی کوشش کر سکتے ہیں کہ ایک مختلف عددی طور پر ڈیٹا کو پڑھنے کے 54 00:02:31,570 --> 00:02:34,660 ، یہاں تک کہ چار حروف کا ایک سٹرنگ ٹائپ کریں یا. 55 00:02:34,660 --> 00:02:37,820 جب کاسٹنگ میں تعداد کے ساتھ نمٹنے میں آپ کو غور کرنا چاہیے کہ کس طرح 56 00:02:37,820 --> 00:02:40,470 آپ کی قدر کی صحت سے متعلق متاثر رکھا جائے گا. 57 00:02:40,470 --> 00:02:43,240 ، اس بات کو ذہن میں رکھیں کہ صحت سے متعلق ایک ہی رہ سکتا ہے 58 00:02:43,240 --> 00:02:47,150 یا آپ کو صحت سے متعلق کھو، لیکن آپ کو صحت سے متعلق حاصل نہیں کر سکتے ہیں. 59 00:02:47,150 --> 00:02:49,060 چلو تین سب سے زیادہ عام طریقوں ہے کہ آپ کر سکتے ہیں کے لئے کے ذریعے جانا 60 00:02:49,060 --> 00:02:50,400 صحت سے متعلق کھو. 61 00:02:50,400 --> 00:02:53,060 ایک int فلوٹ کاسٹنگ ہر چیز کا ٹرنکیشن کی وجہ سے کرے گا 62 00:02:53,060 --> 00:02:54,900 دشملو نقطہ کے بعد، تو آپ کو چھوڑ رہے ہیں 63 00:02:54,900 --> 00:02:55,950 پوری تعداد کے ساتھ. 64 00:02:55,950 --> 00:03:02,000 اگر ہم فلوٹ ایکس ہے جو 3.7 کے برابر ہم ڈال کر سکتے ہیں، 65 00:03:02,000 --> 00:03:05,580 اس متغیر کی طرف سے ایک int X صرف میں int لکھنے 66 00:03:05,580 --> 00:03:07,050 قوسین. 67 00:03:07,050 --> 00:03:10,010 جب بھی ہم اس اصطلاح کو استعمال کرنے کا حق یہاں، ہم مؤثر طریقے سے کریں گے 68 00:03:10,010 --> 00:03:12,810 تین قدر کا استعمال کرتے ہوئے کیونکہ ہم نے چھوٹا کیا کیا ہے 69 00:03:12,810 --> 00:03:14,880 دشملو نقطہ کے بعد سب کچھ. 70 00:03:14,880 --> 00:03:17,210 ہم نے ایک طویل ایک int وقت بھی تبدیل جو گا کر سکتے ہیں 71 00:03:17,210 --> 00:03:20,760 اسی طرح بٹس اعلی آرڈر کا نقصان کا باعث بنتے ہیں. 72 00:03:20,760 --> 00:03:23,910 ایک طویل طویل 8 بائٹس، یا یاد میں 64 بٹس لیتا ہے. 73 00:03:23,910 --> 00:03:27,050 تو ہم نے اسے جب ایک int ہے جو صرف 4 بائٹس، یا 32 ڈالا 74 00:03:27,050 --> 00:03:29,820 بٹس، ہم بنیادی طور پر تمام بٹس کہ رہے ہیں کاٹ 75 00:03:29,820 --> 00:03:32,420 اعلی بائنری اقدار کی نمائندگی کرتے ہیں. 76 00:03:32,420 --> 00:03:34,690 تم بھی ڈبل فلوٹ، جس دے گا پر ڈال سکتا ہے 77 00:03:34,690 --> 00:03:37,340 آپ ممکن قریب ترین بغیر ڈبل فلوٹ 78 00:03:37,340 --> 00:03:39,100 لازمی طور پر پکڑ دھکڑ. 79 00:03:39,100 --> 00:03:41,840 int تبادلوں سے ہمارے طویل طویل، نقصان کی طرح 80 00:03:41,840 --> 00:03:44,890 صحت سے متعلق ہے کیونکہ ایک ڈبل مزید معلومات پر مشتمل ہے. 81 00:03:44,890 --> 00:03:47,910 ایک ڈبل آپ نے 53 اہم بٹس کو ذخیرہ کرنے کی اجازت دے گا، 82 00:03:47,910 --> 00:03:50,650 تقریبا 16 اہم ہندسے. 83 00:03:50,650 --> 00:03:53,050 جبکہ ایک فلوٹ آپ 24 ذخیرہ کرنے کی اجازت دے گا 84 00:03:53,050 --> 00:03:56,235 اہم بٹس، تقریبا سات اہم ہندسے. 85 00:03:56,235 --> 00:03:58,700 ان گزشتہ دو صورتوں میں، یہ مددگار ثابت ہوگا کے بارے میں سوچ سکتے ہیں 86 00:03:58,700 --> 00:04:01,200 نیا سائز کرنا ایک تصویر کے طور پر کاسٹنگ ٹائپ کریں. 87 00:04:01,200 --> 00:04:03,860 جب آپ کو ایک بڑے سائز کی طرف سے ایک چھوٹے سائز میں جاؤ، تم نہیں دیکھ سکتے ہیں 88 00:04:03,860 --> 00:04:05,600 چیزوں کے طور پر واضح طور پر کیونکہ آپ ڈیٹا ضائع 89 00:04:05,600 --> 00:04:07,530 پکسلز کی شکل میں. 90 00:04:07,530 --> 00:04:09,270 قسم کاسٹنگ مصیبت بھی وجہ سے جب ہو سکتا ہے ہم 91 00:04:09,270 --> 00:04:11,050 floats ints ڈال. 92 00:04:11,050 --> 00:04:13,920 چونکہ 32 بٹ ایک مشین پر floats صرف 24 ہے 93 00:04:13,920 --> 00:04:16,959 اہم بٹس، وہ درست اقدار نہیں نمائندگی کرسکتے ہیں 94 00:04:16,959 --> 00:04:22,750 2، 24، یا 16777217 کی طاقت. 95 00:04:22,750 --> 00:04:25,540 اب واضح اور انترنہیت کاسٹنگ کے بارے میں بات. 96 00:04:25,540 --> 00:04:28,000 واضح کاسٹنگ ہے جب ہم قوسین میں قسم لکھنے 97 00:04:28,000 --> 00:04:29,430 متغیرہ کا نام کے سامنے. 98 00:04:29,430 --> 00:04:33,100 ایک مثال کے طور پر، ہم پہلے سے پہلے قوسین میں int نے لکھا ہماری 99 00:04:33,100 --> 00:04:35,640 متغیر x فلوٹ. 100 00:04:35,640 --> 00:04:37,200 اس طرح، ہم int قدر کرتے ہیں، 101 00:04:37,200 --> 00:04:38,593 3.7 کے مقطوعہ قیمت - 102 00:04:38,593 --> 00:04:40,370 3. 103 00:04:40,370 --> 00:04:42,970 انترنہیت کاسٹنگ ہے جب سنکلک خود کار طریقے سے تبدیل 104 00:04:42,970 --> 00:04:46,340 ایک سپر قسم اسی طرح کی قسم، یا کسی اور طرح کی کارکردگی کا مظاہرہ 105 00:04:46,340 --> 00:04:48,310 صارف لکھنے کے لئے کی ضرورت ہوتی ہے بغیر کرتے 106 00:04:48,310 --> 00:04:49,720 کسی بھی اضافی کوڈ. 107 00:04:49,720 --> 00:04:53,550 مثال کے طور پر، جب ہم نے 5 اور 1.1 شامل ہیں، ہماری اقدار کو پہلے ہی 108 00:04:53,550 --> 00:04:55,680 قسم کے ان کے ساتھ منسلک ہے. 109 00:04:55,680 --> 00:04:59,480 5 ایک int ہے، جبکہ 1.1 ناو ہے. 110 00:04:59,480 --> 00:05:02,390 کمپیوٹر کے لئے ان کو شامل کرنے کے لئے ایک فلوٹ میں 5 چھا، 111 00:05:02,390 --> 00:05:04,530 جس میں 5.0 لکھنے کے طور پر ایک ہی بات ہوتا 112 00:05:04,530 --> 00:05:06,476 پہلی جگہ ہے. 113 00:05:06,476 --> 00:05:13,210 لیکن اس طرح ہم 5 فلوٹ، یا 5.0 کے علاوہ کیا کہہ چکی تھی 114 00:05:13,210 --> 00:05:16,960 فلوٹ، 1.1، اور ہم وہاں سے یہ اصل میں شامل کر سکتے ہیں 115 00:05:16,960 --> 00:05:18,640 اقدار اور قیمت 6.1 حاصل ہے. 116 00:05:21,170 --> 00:05:23,500 شامل کاسٹنگ بھی ہم متغیر کو تفویض کرنے کی اجازت دیتا ہے ہے 117 00:05:23,500 --> 00:05:25,590 ایک دوسرے سے مختلف اقسام. 118 00:05:25,590 --> 00:05:28,110 ہم نے ایک سے زیادہ میں ایک کم عین مطابق کی قسم کو ہمیشہ تفویض کر سکتے ہیں 119 00:05:28,110 --> 00:05:29,250 عین مطابق ایک ہے. 120 00:05:29,250 --> 00:05:37,060 مثال کے طور پر، اگر ہم ایک ڈبل X، ہے اور ایک int Y ہے - 121 00:05:37,060 --> 00:05:40,120 اور یہ کسی بھی اقدار ہے کہ ہم ان کے قائم کرنے کے لئے کر سکتے ہیں - 122 00:05:40,120 --> 00:05:43,560 ہم کہتے ہیں X Y برابر کر سکتے ہیں. 123 00:05:43,560 --> 00:05:46,340 کیونکہ ڈبل ایک int سے زیادہ صحت سے متعلق ہے، ہم 124 00:05:46,340 --> 00:05:48,380 کوئی معلومات کھو نہیں کیا جائے گا. 125 00:05:48,380 --> 00:05:50,420 دوسری طرف، یہ ضروری کہنا درست نہیں ہو گا 126 00:05:50,420 --> 00:05:54,060 Y X برابر ہے، کیونکہ ڈبل ایک بڑی قیمت سے زیادہ ہو سکتا ہے 127 00:05:54,060 --> 00:05:55,220 عددی. 128 00:05:55,220 --> 00:05:57,420 اور اس عددی تمام منعقد کرنے کے قابل نہیں ہو سکتا ہے 129 00:05:57,420 --> 00:05:59,560 ڈبل میں جمع کی گئی معلومات. 130 00:05:59,560 --> 00:06:02,610 شامل کاسٹنگ بھی طرح موازنہ آپریٹرز میں استعمال کیا جاتا ہے 131 00:06:02,610 --> 00:06:06,410 سے بڑھ کر سے کم، یا مساوات آپریٹر ہے. 132 00:06:06,410 --> 00:06:13,050 اس طرح ہم نے 5.1 اگر کہہ سکتے ہیں، 5 سے بڑا ہے، اور ہم 133 00:06:13,050 --> 00:06:14,750 صحیح نتیجہ ہے. 134 00:06:14,750 --> 00:06:18,470 کیونکہ 5 ایک int ہے، لیکن یہ فلوٹ رکھا جائے ڈالا گا میں آرڈر کرنے کے لئے 135 00:06:18,470 --> 00:06:22,090 5.1 فلوٹ کے مقابلے میں رکھا جائے، ہم کا کہنا ہے کہ 5.1 ہے تھا 136 00:06:22,090 --> 00:06:24,550 5.0 سے بڑھ کر. 137 00:06:24,550 --> 00:06:31,320 یہی اگر 2.0 برابر 2 برابر کہہ سچ ہے. 138 00:06:31,320 --> 00:06:34,190 ہم بھی درست ہے، کیونکہ کمپیوٹر ڈال گا تھا 139 00:06:34,190 --> 00:06:39,750 2 عددی اور پھر فلوٹ کا کہنا ہے کہ 2.0 برابر 2.0 برابر، 140 00:06:39,750 --> 00:06:41,660 یہ سچ ہے. 141 00:06:41,660 --> 00:06:44,180 یہ نہ بھولنا کہ ہم ints اور حروف کے درمیان بھی ڈال سکتا ہے، 142 00:06:44,180 --> 00:06:46,350 یا ASCII اقدار. 143 00:06:46,350 --> 00:06:49,690 جو حروف بھی بائنری کم کرنے کی ضرورت ہے، تم کیوں ہے 144 00:06:49,690 --> 00:06:51,920 حروف اور ان کے متعلقہ کے درمیان آسانی سے تبدیل کر سکتے ہیں 145 00:06:51,920 --> 00:06:53,260 ASCII اقدار. 146 00:06:53,260 --> 00:06:56,180 اس کے بارے میں مزید جاننے کے ASCII پر اپنے ویڈیو کو چیک کرنے کے لیے ہے. 147 00:06:56,180 --> 00:06:58,080 جب آپ کو ایک لمحے کس طرح ڈیٹا محفوظ ہے کے بارے میں سوچنا، 148 00:06:58,080 --> 00:06:59,990 احساس کی ایک بہت بنانے کے لئے شروع ہوتا ہے. 149 00:06:59,990 --> 00:07:02,790 یہ صرف ہوا اور ہوا کے درمیان فرق کی طرح ہے. 150 00:07:02,790 --> 00:07:05,490 معلومات ایک ہی ہے، لیکن قسم کو تبدیل کر سکتے ہیں کہ ہم کس طرح 151 00:07:05,490 --> 00:07:06,720 تشریح. 152 00:07:06,720 --> 00:07:10,430 میرا نام اردن Jozwiak، اس cs50 ہے.