[Powered by Google Translate] JORDAN Jóźwiak: odlewanie Type, w najprostszym tego słowa znaczeniu, jest sposób zmienić komputer interpretacji niektórych danych przez pośrednio lub bezpośrednio, zmieniając jego typ danych. Takie jak zmiana int do pływaka, lub odwrotnie. Aby zrozumieć, rzutowanie typów, musimy zacząć od podstaw - rodzaje samych danych. W językach komputerowych takich jak C, wszystkie zmienne mają jakąś typu danych, który określa, jak komputer, i podobnie użytkownika, interpretuje tę zmienną. Numeryczne typy danych takie jak int, długo, długo, float i double, wszystkie mają swoje unikalne cechy i są używane do określania wartości różnych zakresów i precyzji. Odlewanie Type pozwala nam podejmować liczbę zmiennoprzecinkową jak 3,14 i dostać część przed przecinku, 3 w tym przypadku, oddając go do int. Weźmy przykład z języka angielskiego na krótki przegląd rodzajów, i zobaczyć, jak można zmienić rodzaju odlewu sposób, w jaki interpretuje fragment danych. Dla danych, weźmy symbole tutaj. Ja tylko odnieść się do tych linii, jak starannie skonfigurowanych symbole, ale jako ktoś, kto zna język angielski, natychmiast rozpoznać, że są one w rzeczywistości, liter. Jesteś niejawnie rozumieć typ danych. Patrząc na ten ciąg liter widzimy dwa różne słowa, każdy z własnym rozumieniu. Jest rzecz, wiatr, jak wieje wiatr na zewnątrz. I jest czasownik, wiatr, jak trzeba wiatr mój analogowy zegarek. Jest to ciekawy przykład, bo widzimy jak typ, który możemy przypisać do naszych danych, czy rzecz lub czasownik, zmienia sposób wykorzystujemy te dane - jak wiatr słowo lub wiatr. Chociaż komputer nie dba o gramatyce i części angielskiego słowa, sama podstawowa zasada ma zastosowanie. Oznacza to, że możemy zmienić interpretację dokładny same dane przechowywane w pamięci, po prostu do odlewania inny typ. Oto rozmiary typów najczęściej na 32-bit system operacyjny. Mamy char na 1 bajt, int i float na 4 bajtach, długi długo i dwukrotnie na 8 bajtach. Bo int zajmuje 4 bajty, to zajmie się 32 bitów gdy jest przechowywany w pamięci jako binarnego serii z zer i jedynek. Tak długo, jak naszej zmiennej pozostaje jako typu int, w komputer zawsze konwersji tych zer i jedynek z binary do oryginalnego numeru. Jednakże, możemy teoretycznie oddać te 32 bitów w serii logicznych typów. A następnie komputer nie będzie już zobaczyć wiele, ale zamiast zbiór zer i jedynek. Możemy również spróbować odczytać, że dane liczbowe różnią wpisz, lub nawet jako ciąg czterech znaków. Gdy mamy do czynienia z liczbami w castingu, należy zastanowić się, jak Precyzyjne wartości zostaną naruszone. Należy pamiętać, że precyzja może pozostać taka sama, lub możesz stracić precyzji, ale nigdy nie można uzyskać precyzję. Przejdźmy przez na trzy sposoby, które można najczęściej utratę precyzji. Casting pływaka do int spowoduje obcięcie wszystkiego po przecinku, więc jesteś w lewo z liczby całkowitej. Jeśli weźmiemy x pływak, który będzie równy 3,7, możemy rzucić ta zmienna x typu int, po prostu pisząc w int nawiasów. Zawsze używamy tego terminu tutaj, dowiemy się skutecznie się przy użyciu wartości trzy bo mamy obcięty wszystko po przecinku. Możemy także konwertować długo długo do int, która będzie Podobnie prowadzi do utraty bitów wyższego rzędu. Long long zajmuje 8 bajtów lub 64 bitów w pamięci. Kiedy więc oddać go do int, który ma tylko 4 bajty lub 32 bity, mamy zasadniczo odcięcie wszystkich bitów stanowią wyższe wartości binarne. Można też rzucić double do pływaka, który da Państwu najbliższy możliwy pływak do podwójnego bez koniecznie zaokrąglenie to. Podobny do naszego long long int do konwersji, utrata precyzja, ponieważ zawiera dwukrotnie więcej danych. Double pozwala na przechowywanie 53 znaczące bity, około 16 cyfr znaczących. Mając na uwadze, pływak tylko pozwala na przechowywanie 24 znaczące bity, około siedem cyfr znaczących. W tych dwóch ostatnich przypadkach, może okazać się pomocne, że z wpisz odlewania jak zmiana rozmiaru zdjęć. Kiedy idziesz z dużej wielkości do małych rozmiarów, nie można zobaczyć rzeczy tak jasno, ponieważ utracone dane w postaci pikseli. Odlewania typu może również powodować problemy, gdy rzucać Ints do pływaków. Ponieważ unosi się na komputerze 32-bitowym tylko 24 znaczących bitów, nie można dokładnie reprezentują wartości w ciągu 2 do potęgi 24, czyli 16777217. Teraz porozmawiajmy o castingu jawnych i ukrytych. Jawne odlewania jest kiedy piszemy typ w nawiasach przed nazwą zmiennej. Jako przykład, zanim napisał int w nawiasie przed naszym unosić zmiennej x. W ten sposób otrzymujemy wartość typu int, obcięty wartość 3,7 - 3. Niejawny odlewania jest, gdy kompilator automatycznie zmienia podobne typy do super rodzaju, lub wykonuje inny rodzaj odlewania bez potrzeby użytkownika pisać dodatkowego kodu. Na przykład, gdy dodamy 5 i 1,1, nasze wartości już typy związane z nimi. 5 jest int, natomiast 1,1 jest float. Aby je dodać, komputer rzuca 5 do pływaka, co byłoby samo jak pisanie 5,0 w pierwsze miejsce. Ale w ten sposób powiedzieć, pływak 5 lub 5,0, plus to, co było już float, 1,1, a stamtąd możemy właściwie dodać te wartości i uzyskać wartość 6,1. Niejawny odlewania pozwala nam przypisać zmienne rodzaje siebie. Zawsze możemy przypisać mniej dokładny typ na więcej precyzyjny. Na przykład, jeśli mamy double x, int y oraz - i mogą mieć żadnych wartości, że stawiamy je do - możemy powiedzieć, x równa y. Ponieważ ma dwukrotnie większą dokładność niż int, więc nie stracić żadnych informacji. Z drugiej strony, nie zawsze jest poprawne powiedzieć r wynosi X, ponieważ może się dwukrotnie większą wartość niż całkowitą. I tak liczba całkowita nie może być w stanie pomieścić wszystkie informacje przechowywane w podwójne. Niejawny odlewania jest również stosowana w operatorów porównania jak powyżej, poniżej lub operator równości. W ten sposób możemy powiedzieć, czy 5,1 jest większy niż 5, a otrzymamy wynikać prawda. Ponieważ 5 jest int, ale to być oddane do pływaka w celu można porównać do pływaka 5,1, to mówimy, 5,1 jest większy niż 5.0. To samo mówią jeśli 2,0 równa jest równa 2. Chcemy też dostać prawdziwe, ponieważ komputer będzie rzucać całkowitą 2 do pływaka, a potem mówią 2,0 równa jest równa 2,0, to prawda. Nie zapominajmy, że możemy oddać między wskazówki i znaki, lub wartości ASCII. Znaki muszą być również obniżona na binarny, który jest dlaczego można łatwo przekonwertować między znaków i ich odpowiednie Wartości ASCII. Aby dowiedzieć się więcej na ten temat, zapoznaj się z wideo na ASCII. Kiedy przez chwilę pomyśleć o tym, jak dane jest przechowywany, zaczyna zarabiać dużo rozsądku. To tak jak różnica pomiędzy wiatrem i wiatrem. Dane są takie same, ale mogą zmieniać typ jak interpretować. Nazywam się Jordan Jóźwiak, to CS50.