[Powered by Google Translate] JORDAN JOZWIAK: Típus öntés, a legegyszerűbb értelemben, a módon megváltoztatni a számítógép értelmezése bizonyos adatok implicit és explicit megváltoztatása adattípust. Mint például a változó int egy float, vagy fordítva. Ahhoz, hogy megértsük típusa casting, meg kell kezdje az alapokat - adattípusok magukat. A számítógépes nyelvek, mint a C, az összes változó van valamilyen Az adattípus, amely meghatározza, hogy a számítógép, és hasonlóképpen a felhasználó, értelmezi, hogy a változó. Numerikus adattípusok például int, hosszú, hosszú, úszó-és kettős, minden megvan a saját egyedi jellemzőkkel és leírására használt értékek különböző tartományok és a pontosság. Type öntés lehetővé teszi számunkra, hogy egy lebegőpontos szám, mint a 3,14 és kap a rész előtt a decimális, 3 a jelen esetben, öntéssel, hogy egy int. Nézzünk egy példát az angol nyelvet egy rövid felülvizsgálata típusok, és hogy hogyan típusú casting lehet változtatni hogy hogyan értelmezzük a adat. Az adatok, vessünk a szimbólumok itt. Csak nézze meg ezeket a gondosan beállított vonalak szimbólumokat, hanem valaki, aki ismeri az angol nyelvet, azonnal felismerik, hogy ők valójában, leveleket. Ön hallgatólagosan megértette a adattípust. Nézi most ezt a húr a betűk akkor megjelenik két más szavakkal, mindegyiknek megvan a maga jelentése. Ott a főnév, a szél, mint a szél fúj odakint. És ott van az ige, a szél, mint szeretnék szél az analóg óra. Ez egy érdekes példa, mert látjuk miként az a típus, amit rendelni adatainkat, akár főnév vagy ige változások hogyan használjuk fel az adatokat - mint a szó szél vagy szél. Bár a számítógép nem törődik nyelvtani és alkatrészek az angol beszéd, ugyanazokkal az alapvető elv. Ez azt jelenti, meg tudjuk változtatni a értelmezését a pontos ugyanazok az adatok a memóriában tárolt egyszerűen öntés azt egy különböző típusú. Itt vannak a méret a leggyakoribb típus a 32-bites operációs rendszer. Van egy char az 1 byte, int és float, 4 bájt hosszú hosszú és egy kettős, 8 bájt. Mivel az int veszi fel 4 byte, akkor vegye fel 32 bit történő tároláskor a memóriában bináris sorozat nullákkal és egyesekkel. Mindaddig, amíg a változó marad a típus int, a számítógép mindig konvertálja azokat egyesek és nullák tól bináris az eredeti számot. Azonban elvileg leadott e 32 bitek egy sorozat Boole típusok. És akkor a számítógép már nem látni egy szám, de helyett gyűjteménye nullákkal és egyesekkel. Mi is megpróbáljuk értelmezni az adatokat, mint egy másik numerikus írja, vagy akár egy sor négy karakter. Amikor foglalkozó számok öntés, meg kell vizsgálni, hogyan pontossága az érték fogja érinteni. Ne feledje, hogy a precíziós maradhat ugyanaz, vagy akkor elveszíti pontosságot, de soha nem lehet szerezni pontossággal. Menjünk át a három leggyakoribb módja, hogy akkor veszít pontossággal. Casting úszó egy int okoz csonkolása mindent a tizedespont után, szóval marad az egész szám. Ha vesszük a float x, ami egyenlő 3,7, akkor öntött ez a változó x egy int egyszerűen írásban int a zárójelben. Amikor használjuk ezt a kifejezést itt, akkor hatékonyan használja az érték 3 mert már csonka Mindent a tizedesvessző után. Azt is átalakítani egy hosszú, hosszú egy int, amely hasonlóan elvesztéséhez vezethet a magas rendű biteket. A hosszú, hosszú veszi fel 8 bájt, illetve 64 bit a memóriában. Így, amikor öntött, hogy egy int, melyek esetében csak a 4 byte, vagy 32 bit, mi lényegében darabolás le a bitek képviseli a nagyobb bináris értékeket. Te is leadott egy dupla olyan úszó, amely megadja Önnek a lehető legszorosabb úszó a kettős nélkül szükségképpen kerekítés. Hasonló a hosszú hosszú int átalakítás, a veszteség pontosság azért van, mert a kettős több adatot tartalmaz. A kettős lehetővé teszi, hogy tárolja 53 jelentős bit, mintegy 16 értékes számjegy. Mivel a float csak lehetővé teszi, hogy tárolja 24 jelentős bit, nagyjából 7 számjeggyel. Az utóbbi két esetben hasznos lehet gondolni írja öntésre átméretezés egy fényképet. Amikor elmész egy nagy méretű, hogy egy kis méretű, nem látsz dolgok, mint tisztán, mert elveszett adatokat formájában pixelek. Típus konverziókat is okozhat gondot, amikor leadott ints az úszók. Mivel az úszók, a 32-bites gépet csak 24 jelentős bit, nem tudják pontosan értékeket képviselnek több mint 2, hogy a hatalom a 24, vagy a 16777217. Most beszéljünk explicit és implicit öntés. Explicit casting, amikor írunk a típus zárójelben előtt egy változó nevét. Példaként, mielőtt írtuk int zárójelben előttünk float változó x. Ily módon megkapjuk a int érték, csonkított érték 3,7 - 3. Implicit casting, amikor a fordító automatikusan átvált hasonló típusú egy szuper típusú, vagy végez valamilyen más fajta casting anélkül, hogy a felhasználó számára, hogy írjon további kódot. Így például, amikor adjunk hozzá 5 és 1,1, értékeink már típusok velük kapcsolatban. Az 5 egy int, míg a 1.1 egy úszó. Annak érdekében, hogy vegye fel őket, a számítógép vet 5 egy float, ami lett volna ugyanaz, mint írásban 5,0 a első helyen. De ez így mondjuk float 5, vagy 5,0, plusz mi már Egy úszó, 1,1, és onnan tudjuk ténylegesen hozzá e értékek és kap az érték 6,1. Implicit casting is lehetővé teszi számunkra, hogy rendelni változókkal különböző típusok egymással. Mi mindig rendelni egy kevésbé pontos típusát figyelembe egy 1 pontos. Például, ha van egy dupla x, és egy int y - és ezek lehetnek olyan értékek, mi meg őket - azt mondhatjuk, x egyenlő y. Mivel a kettős több pontosságot, mint egy int, így nem veszíti el semmilyen információt. Másrészt, akkor nem feltétlenül helyes azt mondani, y értéke x, mert a kettős lehet, hogy egy nagyobb érték, mint a az egész. És így az egész nem lesz képes tartani az összes tárolt információk a kettős. Implicit öntés is használják összehasonlító operátorok, mint a nagyobb, kisebb, illetve az egyenlőség operátort. Így azt mondhatjuk, hogy 5,1 nagyobb, mint 5, és megkapjuk a eredménylistához igaz. Mivel 5 egy int, de ez lesz a leadott úszó annak érdekében, hogy össze kell hasonlítani a float 5,1, azt mondanám, hogy 5.1- nagyobb, mint 5,0. Ugyanez igaz a mondás, ha 2,0 egyenlő értéke 2. Mi lenne is kap igaz, mert a számítógép leadott értéke 2 és lebegni, majd mondja 2,0 egyenlő értéke 2,0, ez igaz. Ne felejtsük el, hogy mi is öntött között ints és a karakter, vagy ASCII értékeket. Karakterek is csökkenteni kell a bináris, ezért van könnyen konvertálni között karakterek és a megfelelő ASCII értékeket. Ha többet szeretne megtudni erről, nézd meg a videót az ASCII. Ha egy pillanatra gondolkodni, hogyan tárolja az adatokat, kezdődik, hogy sok értelme. Ez olyan, mint a különbség a szél és a szél. Az adat ugyanaz, de a típus lehet változtatni, hogy hogyan értelmezni. A nevem Jordan Jozwiak, ez CS50.