[Powered by Google Translate] JORDAN JOZWIAK: Tipi döküm, sadə mənada bir
bəzi məlumatların kompüter şərh dəyişdirilməsi yolu
dolayısı və ya açıq-aşkar öz data type dəyişir.
Bir float, və ya əksinə bir int dəyişən kimi.
Növü tökmə anlamaq üçün, biz lazım
əsasları ilə başlamaq -
məlumat növləri özləri.
C kimi kompüter dillərində, bütün dəyişənlərin bir növ var
necə kompüter, və həmçinin müəyyən data növü
istifadəçi dəyişən şərh edir.
Belə bir int, Uzunmüddətli uzun, float və ədədi data növləri
ikiqat, bütün öz unikal xüsusiyyətləri var və
silsilələri və dəqiq müxtəlif dəyərləri müəyyən etmək üçün istifadə edilmişdir.
Növü tökmə bizim kimi bir üzən point sayı imkan verir
3.14 və bu halda decimal əvvəl 3 hissəsi almaq
bir int üçün tökmə ilə.
Gəlin qısa üçün ingilis dili bir misal çəkmək
növləri nəzərdən və tipi tökmə dəyişə bilərsiniz necə
biz data parçası şərh yol.
Məlumat üçün isə burada simvol götürək.
Mən yalnız bu diqqətlə konfiqurasiya xətləri baxın
simvollar, lakin ingilis dili bilən kimsə kimi,
dərhal onlar, faktiki olaraq, məktubları qəbul edirlər.
Siz dönmədən data type anladım.
Məktublar bu simli baxanda biz iki bilərsiniz
müxtəlif sözlər, öz mənası ilə hər.
Kənarda külək zərbələr kimi isim, külək var.
Mən lazım olduğu kimi və fel, külək var
mənim analog saat külək.
Biz edə bilərsiniz, çünki bu, maraqlı bir nümunə
necə isim və ya, bizim data təyin edən növü
biz data istifadə necə fel dəyişikliklər -
sözü külək və ya külək kimi.
Kompüter qrammatika və hissələr umurunda deyil baxmayaraq,
İngilis dili söz, eyni əsas prinsipi tətbiq edilir.
Yəni, biz dəqiq şərhi dəyişə bilərsiniz
tərəfindən yaddaşında eyni data sadəcə onu tökmə
müxtəlif növü.
Burada ən ümumi növləri ölçüləri bir 32-bit var
əməliyyat sistemi.
Biz 4 bayt 1 byte, int və float, uzun bir char var
uzun və 8 bayt bir cüt.
Bir int 4 bayt tutur Çünki 32 bit qədər keçiriləcək
bir ikili sıra yaddaşında saxlanılan zaman
adet sıfır və olanları.
Bizim dəyişən kimi uzun bir növü int, kimi qalır
kompüter həmişə o olanları və adet sıfır olan konvertasiya edəcək
orijinal sıra binar.
Lakin, nəzəri o 32 tökmə bilər
Boolean növ bir sıra daxil bit.
Və sonra kompüter artıq bir sıra bax, amma ki,
adet sıfır və olanları yerinə toplusu.
Biz həmçinin müxtəlif rəqəmli kimi məlumatlar oxumaq üçün cəhd edə bilər
yazın və ya hətta dörd simvol simli kimi.
Tökmə nömrələri ilə məşğul olan zaman, necə hesab etməlidir
Sizin dəyəri dəqiq təsir edəcək.
Dəqiq, eyni qalmaq unutmayın,
və ya dəqiq itirə bilər, lakin dəqiq qazanmaq bilməz.
Gəlin siz ki, üç ən ümumi yolları keçmək
dəqiq itirirlər.
Bir int bir float Döküm hər şeyi truncation səbəb olacaq
Bu kəsir sonra, belə ki, tərk etdiyiniz
bütün sayı.
Biz 3.7 bərabər olan float x alsaq, biz tökmə bilər
bir int bu dəyişən x sadəcə ildə int yazı
parantez.
Biz burada bu müddət istifadə zaman, biz səmərəli rəftar
biz kesilir etdik çünki dəyəri üç istifadə
Bu kəsir sonra hər şey.
Biz də verəcək, bir int uzun uzun çevirə bilərsiniz
eyni yüksək üçün bit bir zərər gətirib.
Uzun uzun 8 bayt və ya yaddaş 64 bit alır.
Beləliklə, biz yalnız 4 bayt və ya 32 olan bir int üçün tökmə zaman
bit, biz mahiyyətcə bütün bit off Doğrama olunur
ali ikili dəyərlər təmsil edir.
Siz həmçinin verəcək bir float, ikiqat tökmə bilər
olmadan ikiqat sizə ən yaxın mümkün float
mütləq yuvarlaqlaşdırma bu.
Də zərər, int dönüşüm uzun uzun Oxşar
ikiqat çox məlumat var, çünki dəqiq deyil.
A ikiqat, siz 53 əhəmiyyətli bit saxlamaq üçün imkan verir
təxminən 16 əhəmiyyətli rəqəm.
Bir float yalnız 24 mağaza imkan verir halbuki
əhəmiyyətli bit, təxminən yeddi əhəmiyyətli rəqəm.
Bu son iki halda hesab üçün faydalı ola bilər
boyutlandırma bir şəkil kimi tökmə yazın.
Bir kiçik ölçüsü böyük ölçüsü getmək zaman, göremiyorum
Siz data itirilmiş şeylər kimi aydın çünki
piksel şəklində.
Zaman Mühərrikin tökmə də problem yarada bilər biz
üzüb gedirdi üçün ints salır.
Bir 32-bit maşın üzüb gedirdi yalnız 24 olduğundan
əhəmiyyətli bit, onlar dəqiq dəyərlər təmsil bilməz
24, və ya 16777217 gücünü 2 artıq.
İndi açıq və gizli tökmə haqqında danışmaq edək.
Biz parantez növü yazmaq zaman Explicit tökmə edir
bir dəyişən adı əvvəl.
Məsələn, əvvəl əvvəl parantez int yazdı bizim
dəyişən x float.
Beləliklə, biz bu int dəyər almaq
3.7 kesilir dəyəri -
3.
Derleyiciyi avtomatik dəyişir zaman Örtük tökmə edir
super növü analoji və ya digər növ həyata keçirir
istifadəçi yazmaq tələb olmadan tökmə
hər hansı əlavə kodu.
Məsələn, 5 və 1,1 əlavə, bizim dəyərlər artıq
növ onlara ilə bağlı.
1.1 bir float isə 5, bir int edir.
Əlavə etmək üçün, kompüter, float daxil 5 salır
olan 5.0 yazılı eyni şey olardı
birinci yer.
Amma biz float, 5 və ya 5.0 plus, nə bu yol artıq idi
bir float, 1.1 və oradan biz, həqiqətən, bu əlavə edə bilərsiniz
dəyərlər və dəyəri 6.1 almaq.
Örtük tökmə də bizim dəyişənlərin təyin etməyə imkan verir
bir-birinə müxtəlif növləri.
Biz həmişə bir çox bir az dəqiq növü təyin edə bilər
dəqiq biridir.
Məsələn, biz ikiqat x, və bir int y varsa -
və bu onlara müəyyən hər hansı dəyərlər ola bilər -
biz x y bərabər demək olar.
Ikiqat bir int daha dəqiq Çünki, biz
hər hansı bir məlumat itirmək olmaz.
Digər tərəfdən, bu, mütləq demək doğru olmazdı
ikiqat böyük dəyəri ola bilər, çünki y, x bərabərdir
də tam.
Və tam bütün keçirilməsi ola bilər
ikiqat saxlanılan məlumat.
Örtük tökmə həmçinin kimi müqayisə operatorları istifadə olunur
, daha az, ya da bərabərlik operator.
Biz 5.1 əgər demək olar Bu yolla 5 böyükdür və biz almaq
əsl səbəb.
5 int, ancaq üçün bir float üçün tökmə olacaq Çünki
olan float 5.1 müqayisə, biz 5.1 demək istədiyiniz
5.0 daha çox.
Eyni 2.0 2 bərabərdir bərabərdir əgər deyərək ilə aiddir.
Kompüter tökmə çünki Biz də doğru almaq istədiyiniz
tam 2, üzmək və sonra 2.0 2.0 bərabərdir bərabərdir demək
bu doğrudur.
Biz də ints və chars arasında tökmə bilər ki, unutmayın
və ya ASCII dəyərlər.
Sandıqı də ikili azaldılır lazımdır, hansı nə edir
asanlıqla chars və onların müvafiq arasında çevirə bilərsiniz
ASCII dəyərlər.
Bu barədə daha ətraflı məlumat üçün ASCII haqqında video oldu.
Siz data saxlanılır necə düşünmək üçün zaman zaman,
bu mənada bir çox etmək üçün başlayır.
Bu yalnız külək və külək arasındakı fərq kimi.
Bu data eyni, lakin növü dəyişə bilərsiniz necə
o şərh.
My name Jordan Jozwiak, bu cs50 edir.