1 00:00:07,632 --> 00:00:10,270 [Powered by Google Translate] JORDAN JOZWIAK: Tipi döküm, sadə mənada bir 2 00:00:10,270 --> 00:00:13,300 bəzi məlumatların kompüter şərh dəyişdirilməsi yolu 3 00:00:13,300 --> 00:00:16,560 dolayısı və ya açıq-aşkar öz data type dəyişir. 4 00:00:16,560 --> 00:00:19,940 Bir float, və ya əksinə bir int dəyişən kimi. 5 00:00:19,940 --> 00:00:21,550 Növü tökmə anlamaq üçün, biz lazım 6 00:00:21,550 --> 00:00:22,680 əsasları ilə başlamaq - 7 00:00:22,680 --> 00:00:24,140 məlumat növləri özləri. 8 00:00:24,140 --> 00:00:26,960 C kimi kompüter dillərində, bütün dəyişənlərin bir növ var 9 00:00:26,960 --> 00:00:29,690 necə kompüter, və həmçinin müəyyən data növü 10 00:00:29,690 --> 00:00:32,140 istifadəçi dəyişən şərh edir. 11 00:00:32,140 --> 00:00:35,160 Belə bir int, Uzunmüddətli uzun, float və ədədi data növləri 12 00:00:35,160 --> 00:00:38,110 ikiqat, bütün öz unikal xüsusiyyətləri var və 13 00:00:38,110 --> 00:00:41,370 silsilələri və dəqiq müxtəlif dəyərləri müəyyən etmək üçün istifadə edilmişdir. 14 00:00:41,370 --> 00:00:44,800 Növü tökmə bizim kimi bir üzən point sayı imkan verir 15 00:00:44,800 --> 00:00:49,170 3.14 və bu halda decimal əvvəl 3 hissəsi almaq 16 00:00:49,170 --> 00:00:51,590 bir int üçün tökmə ilə. 17 00:00:51,590 --> 00:00:53,900 Gəlin qısa üçün ingilis dili bir misal çəkmək 18 00:00:53,900 --> 00:00:56,910 növləri nəzərdən və tipi tökmə dəyişə bilərsiniz necə 19 00:00:56,910 --> 00:00:59,380 biz data parçası şərh yol. 20 00:00:59,380 --> 00:01:05,269 Məlumat üçün isə burada simvol götürək. 21 00:01:05,269 --> 00:01:07,570 Mən yalnız bu diqqətlə konfiqurasiya xətləri baxın 22 00:01:07,570 --> 00:01:10,100 simvollar, lakin ingilis dili bilən kimsə kimi, 23 00:01:10,100 --> 00:01:12,750 dərhal onlar, faktiki olaraq, məktubları qəbul edirlər. 24 00:01:12,750 --> 00:01:15,580 Siz dönmədən data type anladım. 25 00:01:15,580 --> 00:01:17,620 Məktublar bu simli baxanda biz iki bilərsiniz 26 00:01:17,620 --> 00:01:20,140 müxtəlif sözlər, öz mənası ilə hər. 27 00:01:20,140 --> 00:01:25,530 Kənarda külək zərbələr kimi isim, külək var. 28 00:01:25,530 --> 00:01:28,280 Mən lazım olduğu kimi və fel, külək var 29 00:01:28,280 --> 00:01:31,410 mənim analog saat külək. 30 00:01:31,410 --> 00:01:33,420 Biz edə bilərsiniz, çünki bu, maraqlı bir nümunə 31 00:01:33,420 --> 00:01:36,270 necə isim və ya, bizim data təyin edən növü 32 00:01:36,270 --> 00:01:39,080 biz data istifadə necə fel dəyişikliklər - 33 00:01:39,080 --> 00:01:41,730 sözü külək və ya külək kimi. 34 00:01:41,730 --> 00:01:44,100 Kompüter qrammatika və hissələr umurunda deyil baxmayaraq, 35 00:01:44,100 --> 00:01:47,750 İngilis dili söz, eyni əsas prinsipi tətbiq edilir. 36 00:01:47,750 --> 00:01:50,290 Yəni, biz dəqiq şərhi dəyişə bilərsiniz 37 00:01:50,290 --> 00:01:53,140 tərəfindən yaddaşında eyni data sadəcə onu tökmə 38 00:01:53,140 --> 00:01:54,576 müxtəlif növü. 39 00:01:54,576 --> 00:01:57,250 Burada ən ümumi növləri ölçüləri bir 32-bit var 40 00:01:57,250 --> 00:01:58,340 əməliyyat sistemi. 41 00:01:58,340 --> 00:02:02,070 Biz 4 bayt 1 byte, int və float, uzun bir char var 42 00:02:02,070 --> 00:02:04,390 uzun və 8 bayt bir cüt. 43 00:02:04,390 --> 00:02:07,670 Bir int 4 bayt tutur Çünki 32 bit qədər keçiriləcək 44 00:02:07,670 --> 00:02:10,060 bir ikili sıra yaddaşında saxlanılan zaman 45 00:02:10,060 --> 00:02:11,500 adet sıfır və olanları. 46 00:02:11,500 --> 00:02:14,020 Bizim dəyişən kimi uzun bir növü int, kimi qalır 47 00:02:14,020 --> 00:02:16,740 kompüter həmişə o olanları və adet sıfır olan konvertasiya edəcək 48 00:02:16,740 --> 00:02:19,120 orijinal sıra binar. 49 00:02:19,120 --> 00:02:21,270 Lakin, nəzəri o 32 tökmə bilər 50 00:02:21,270 --> 00:02:23,510 Boolean növ bir sıra daxil bit. 51 00:02:23,510 --> 00:02:26,090 Və sonra kompüter artıq bir sıra bax, amma ki, 52 00:02:26,090 --> 00:02:28,810 adet sıfır və olanları yerinə toplusu. 53 00:02:28,810 --> 00:02:31,570 Biz həmçinin müxtəlif rəqəmli kimi məlumatlar oxumaq üçün cəhd edə bilər 54 00:02:31,570 --> 00:02:34,660 yazın və ya hətta dörd simvol simli kimi. 55 00:02:34,660 --> 00:02:37,820 Tökmə nömrələri ilə məşğul olan zaman, necə hesab etməlidir 56 00:02:37,820 --> 00:02:40,470 Sizin dəyəri dəqiq təsir edəcək. 57 00:02:40,470 --> 00:02:43,240 Dəqiq, eyni qalmaq unutmayın, 58 00:02:43,240 --> 00:02:47,150 və ya dəqiq itirə bilər, lakin dəqiq qazanmaq bilməz. 59 00:02:47,150 --> 00:02:49,060 Gəlin siz ki, üç ən ümumi yolları keçmək 60 00:02:49,060 --> 00:02:50,400 dəqiq itirirlər. 61 00:02:50,400 --> 00:02:53,060 Bir int bir float Döküm hər şeyi truncation səbəb olacaq 62 00:02:53,060 --> 00:02:54,900 Bu kəsir sonra, belə ki, tərk etdiyiniz 63 00:02:54,900 --> 00:02:55,950 bütün sayı. 64 00:02:55,950 --> 00:03:02,000 Biz 3.7 bərabər olan float x alsaq, biz tökmə bilər 65 00:03:02,000 --> 00:03:05,580 bir int bu dəyişən x sadəcə ildə int yazı 66 00:03:05,580 --> 00:03:07,050 parantez. 67 00:03:07,050 --> 00:03:10,010 Biz burada bu müddət istifadə zaman, biz səmərəli rəftar 68 00:03:10,010 --> 00:03:12,810 biz kesilir etdik çünki dəyəri üç istifadə 69 00:03:12,810 --> 00:03:14,880 Bu kəsir sonra hər şey. 70 00:03:14,880 --> 00:03:17,210 Biz də verəcək, bir int uzun uzun çevirə bilərsiniz 71 00:03:17,210 --> 00:03:20,760 eyni yüksək üçün bit bir zərər gətirib. 72 00:03:20,760 --> 00:03:23,910 Uzun uzun 8 bayt və ya yaddaş 64 bit alır. 73 00:03:23,910 --> 00:03:27,050 Beləliklə, biz yalnız 4 bayt və ya 32 olan bir int üçün tökmə zaman 74 00:03:27,050 --> 00:03:29,820 bit, biz mahiyyətcə bütün bit off Doğrama olunur 75 00:03:29,820 --> 00:03:32,420 ali ikili dəyərlər təmsil edir. 76 00:03:32,420 --> 00:03:34,690 Siz həmçinin verəcək bir float, ikiqat tökmə bilər 77 00:03:34,690 --> 00:03:37,340 olmadan ikiqat sizə ən yaxın mümkün float 78 00:03:37,340 --> 00:03:39,100 mütləq yuvarlaqlaşdırma bu. 79 00:03:39,100 --> 00:03:41,840 Də zərər, int dönüşüm uzun uzun Oxşar 80 00:03:41,840 --> 00:03:44,890 ikiqat çox məlumat var, çünki dəqiq deyil. 81 00:03:44,890 --> 00:03:47,910 A ikiqat, siz 53 əhəmiyyətli bit saxlamaq üçün imkan verir 82 00:03:47,910 --> 00:03:50,650 təxminən 16 əhəmiyyətli rəqəm. 83 00:03:50,650 --> 00:03:53,050 Bir float yalnız 24 mağaza imkan verir halbuki 84 00:03:53,050 --> 00:03:56,235 əhəmiyyətli bit, təxminən yeddi əhəmiyyətli rəqəm. 85 00:03:56,235 --> 00:03:58,700 Bu son iki halda hesab üçün faydalı ola bilər 86 00:03:58,700 --> 00:04:01,200 boyutlandırma bir şəkil kimi tökmə yazın. 87 00:04:01,200 --> 00:04:03,860 Bir kiçik ölçüsü böyük ölçüsü getmək zaman, göremiyorum 88 00:04:03,860 --> 00:04:05,600 Siz data itirilmiş şeylər kimi aydın çünki 89 00:04:05,600 --> 00:04:07,530 piksel şəklində. 90 00:04:07,530 --> 00:04:09,270 Zaman Mühərrikin tökmə də problem yarada bilər biz 91 00:04:09,270 --> 00:04:11,050 üzüb gedirdi üçün ints salır. 92 00:04:11,050 --> 00:04:13,920 Bir 32-bit maşın üzüb gedirdi yalnız 24 olduğundan 93 00:04:13,920 --> 00:04:16,959 əhəmiyyətli bit, onlar dəqiq dəyərlər təmsil bilməz 94 00:04:16,959 --> 00:04:22,750 24, və ya 16777217 gücünü 2 artıq. 95 00:04:22,750 --> 00:04:25,540 İndi açıq və gizli tökmə haqqında danışmaq edək. 96 00:04:25,540 --> 00:04:28,000 Biz parantez növü yazmaq zaman Explicit tökmə edir 97 00:04:28,000 --> 00:04:29,430 bir dəyişən adı əvvəl. 98 00:04:29,430 --> 00:04:33,100 Məsələn, əvvəl əvvəl parantez int yazdı bizim 99 00:04:33,100 --> 00:04:35,640 dəyişən x float. 100 00:04:35,640 --> 00:04:37,200 Beləliklə, biz bu int dəyər almaq 101 00:04:37,200 --> 00:04:38,593 3.7 kesilir dəyəri - 102 00:04:38,593 --> 00:04:40,370 3. 103 00:04:40,370 --> 00:04:42,970 Derleyiciyi avtomatik dəyişir zaman Örtük tökmə edir 104 00:04:42,970 --> 00:04:46,340 super növü analoji və ya digər növ həyata keçirir 105 00:04:46,340 --> 00:04:48,310 istifadəçi yazmaq tələb olmadan tökmə 106 00:04:48,310 --> 00:04:49,720 hər hansı əlavə kodu. 107 00:04:49,720 --> 00:04:53,550 Məsələn, 5 və 1,1 əlavə, bizim dəyərlər artıq 108 00:04:53,550 --> 00:04:55,680 növ onlara ilə bağlı. 109 00:04:55,680 --> 00:04:59,480 1.1 bir float isə 5, bir int edir. 110 00:04:59,480 --> 00:05:02,390 Əlavə etmək üçün, kompüter, float daxil 5 salır 111 00:05:02,390 --> 00:05:04,530 olan 5.0 yazılı eyni şey olardı 112 00:05:04,530 --> 00:05:06,476 birinci yer. 113 00:05:06,476 --> 00:05:13,210 Amma biz float, 5 və ya 5.0 plus, nə bu yol artıq idi 114 00:05:13,210 --> 00:05:16,960 bir float, 1.1 və oradan biz, həqiqətən, bu əlavə edə bilərsiniz 115 00:05:16,960 --> 00:05:18,640 dəyərlər və dəyəri 6.1 almaq. 116 00:05:21,170 --> 00:05:23,500 Örtük tökmə də bizim dəyişənlərin təyin etməyə imkan verir 117 00:05:23,500 --> 00:05:25,590 bir-birinə müxtəlif növləri. 118 00:05:25,590 --> 00:05:28,110 Biz həmişə bir çox bir az dəqiq növü təyin edə bilər 119 00:05:28,110 --> 00:05:29,250 dəqiq biridir. 120 00:05:29,250 --> 00:05:37,060 Məsələn, biz ikiqat x, və bir int y varsa - 121 00:05:37,060 --> 00:05:40,120 və bu onlara müəyyən hər hansı dəyərlər ola bilər - 122 00:05:40,120 --> 00:05:43,560 biz x y bərabər demək olar. 123 00:05:43,560 --> 00:05:46,340 Ikiqat bir int daha dəqiq Çünki, biz 124 00:05:46,340 --> 00:05:48,380 hər hansı bir məlumat itirmək olmaz. 125 00:05:48,380 --> 00:05:50,420 Digər tərəfdən, bu, mütləq demək doğru olmazdı 126 00:05:50,420 --> 00:05:54,060 ikiqat böyük dəyəri ola bilər, çünki y, x bərabərdir 127 00:05:54,060 --> 00:05:55,220 də tam. 128 00:05:55,220 --> 00:05:57,420 Və tam bütün keçirilməsi ola bilər 129 00:05:57,420 --> 00:05:59,560 ikiqat saxlanılan məlumat. 130 00:05:59,560 --> 00:06:02,610 Örtük tökmə həmçinin kimi müqayisə operatorları istifadə olunur 131 00:06:02,610 --> 00:06:06,410 , daha az, ya da bərabərlik operator. 132 00:06:06,410 --> 00:06:13,050 Biz 5.1 əgər demək olar Bu yolla 5 böyükdür və biz almaq 133 00:06:13,050 --> 00:06:14,750 əsl səbəb. 134 00:06:14,750 --> 00:06:18,470 5 int, ancaq üçün bir float üçün tökmə olacaq Çünki 135 00:06:18,470 --> 00:06:22,090 olan float 5.1 müqayisə, biz 5.1 demək istədiyiniz 136 00:06:22,090 --> 00:06:24,550 5.0 daha çox. 137 00:06:24,550 --> 00:06:31,320 Eyni 2.0 2 bərabərdir bərabərdir əgər deyərək ilə aiddir. 138 00:06:31,320 --> 00:06:34,190 Kompüter tökmə çünki Biz də doğru almaq istədiyiniz 139 00:06:34,190 --> 00:06:39,750 tam 2, üzmək və sonra 2.0 2.0 bərabərdir bərabərdir demək 140 00:06:39,750 --> 00:06:41,660 bu doğrudur. 141 00:06:41,660 --> 00:06:44,180 Biz də ints və chars arasında tökmə bilər ki, unutmayın 142 00:06:44,180 --> 00:06:46,350 və ya ASCII dəyərlər. 143 00:06:46,350 --> 00:06:49,690 Sandıqı də ikili azaldılır lazımdır, hansı nə edir 144 00:06:49,690 --> 00:06:51,920 asanlıqla chars və onların müvafiq arasında çevirə bilərsiniz 145 00:06:51,920 --> 00:06:53,260 ASCII dəyərlər. 146 00:06:53,260 --> 00:06:56,180 Bu barədə daha ətraflı məlumat üçün ASCII haqqında video oldu. 147 00:06:56,180 --> 00:06:58,080 Siz data saxlanılır necə düşünmək üçün zaman zaman, 148 00:06:58,080 --> 00:06:59,990 bu mənada bir çox etmək üçün başlayır. 149 00:06:59,990 --> 00:07:02,790 Bu yalnız külək və külək arasındakı fərq kimi. 150 00:07:02,790 --> 00:07:05,490 Bu data eyni, lakin növü dəyişə bilərsiniz necə 151 00:07:05,490 --> 00:07:06,720 o şərh. 152 00:07:06,720 --> 00:07:10,430 My name Jordan Jozwiak, bu cs50 edir.