Typecasting to procedura przekształcania danych między różnymi typami danych. Ta metoda konwersji danych jest również nazywana konwersją typu lub przymusu typu. Casting umożliwia modyfikację typu danych zamiast samych danych. C ++ obsługuje typecasting dla wszystkich typów danych. W tym artykule omówiono jedną metodę typu typu: konwersja z typu danych INT na typ danych podwójnych. Będziemy zbadać różne podejścia, które po prostu konwertują Int na podwójny typ danych.
Dwie kategorie konwersji w C++
Konwersja typu niejawnego
Niejawna konwersja typu odbywa się spontanicznie. W tej konwersji użytkownik nie ma danych wejściowych, a kompilator wykonuje konwersję całkowicie sam. Gdy w wyrażeniu istnieje wiele rodzajów danych, często wykonywana jest konwersja. Istnieje jednak ryzyko utraty danych, utraty znaków lub przepełnienia danych z tą formą konwersji.
Konwersja typu jawnego
Typ jawny jest zdefiniowany przez użytkownika i czasami nazywany jest „typem typu.”W zależności od potrzeb użytkownik tłumaczy lub konwertuje dane jednego typu danych na inny. Tego rodzaju konwersje są bezpieczniejsze.
Przykład 1
Poniższy przykład to działanie konwersji typu niejawnego, która konwertuje Int na podwójny typ danych. Program zaczyna się od plików nagłówka. Mamy dwa pliki nagłówka w sekcji nagłówka. Potem jest główna funkcja implementacji kodu. W głównej funkcji zdefiniowaliśmy zmienną jako „liczbę” typu danych liczb całkowitych i zainicjowaliśmy ją z wartością całkową.
Podobnie, stworzyliśmy inną zmienną jako „podwójną liczbę” typu danych podwójnych, ale nie jest ona inicjowana. Teraz musimy przekonwertować wartość typu INT na wartość typu podwójnego danych. Dlatego przypisaliśmy zmienną Int „Intnumer” do zmiennej podwójnej „podwójnej liczby” typu typu ”. To podejście jest niejawną konwersją typu. Wartości typu danych INT i podwójnego typu danych zostaną wydrukowane za pomocą polecenia C ++ Cout.
Przed przypisaniem wartości INT do zmiennej podwójnej kompilator przekształca ją na podwójnie automatycznie. Jak widać na obrazie, INT nie może zawierać wartości dziesiętnej, a cyfry po punkcie dziesiętnym są obcięte w tym przykładzie.
Przykład 2
W poprzednim przykładzie widzieliśmy konwersję Int na podwójny. Teraz przekonwertujemy Double na INT, co odbywa się również poprzez niejawną konwersję.
W pierwszym kroku zawarliśmy pliki przestrzeni nazw IOSTREAM i STD. Następnie wywołaliśmy główną funkcję programu, w której zadeklarowaliśmy zmienną typu liczbowego typu danych „intval”. Ponadto zadeklarowaliśmy inną zmienną podwójnego typu danych jako „doubleval” i zainicjowaliśmy ją podwójną wartością, ponieważ zawiera część dziesiętną. W przypadku konwersji przypisaliśmy zmienną podwójną do zmiennej int. Niejawna wartość konwersji typu zostanie wydrukowana na ekranie konsoli podczas wykonywania programu.
Możesz zobaczyć podwójną wartość i konwersję podwójnych danych w danych INT jako wyjście.
Przykład 3
Jak widać z poprzedniego przykładu, konwersja z jednego typu danych na drugi jest szansą na utratę danych. Dzieje się tak, gdy dane większe są przekształcane w dane o mniejszym typu. Aby przezwyciężyć problem utraty danych, przeprowadziliśmy wyraźną konwersję typu. Już wyraźne odlewanie odbywa się poprzez typekastowanie w stylu C. Jak sama nazwa wskazuje, faworyzuje formę castingu językowego C. Notacja obsady to kolejny termin.
Program zaczyna się od sekcji nagłówka, która zawiera pliki C ++. W następnym etapie tworzono główną funkcję, w której zmienna jest definiowana jako „Intnumber” typu danych „INT” i przechowuje wartość całkową. Inna zmienna jest deklarowana jako „podwójna liczba” typu danych „podwójna”.
Następnie zastosowaliśmy metodę odlewania typu C, która wykorzystuje podwójną notację typu ze zmienną INT i przypisuje ją do podwójnej zmiennej „podwójnej liczby”. Wartości te zostaną wydrukowane za pomocą polecenia C ++ Cout.
Część dziesiętna jest obcięta, ponieważ typ danych INT nie ma typu danych.
Przykład 4
Funkcja notacji może również przenosić dane między różnymi typami danych. Poniższy program wykorzystuje odlewanie stylu funkcji do konwersji INT na podwójny typ danych.
Mamy główną funkcję, w której utworzyliśmy zmienną typu INT jako „Integer_x” i zainicjowaliśmy ją z wartością liczbową „20”. Zmienna typu podwójnego jest również definiowana jako „double_y”. Następnie zastosowaliśmy typecasting funkcji do konwersji danych INT na typ podwójny. Przeszliśmy zmienną Int „Integer_x” jako funkcję i zdefiniowaliśmy ją z typem danych „podwójnie”. Zmienna „podwójna Y” jest następnie przypisywana do funkcji.
Wynik rzucania stylu funkcji wykonanego w Typu INT do konwersji na podwójny typ danych wyświetlony na następującym obrazie:
Przykład 5
Dla konwersji typu Double to Int zaimplementowaliśmy zarówno konwersję typu C, jak i odlewanie w stylu funkcji. To pokaże wyniki dwóch sposobów jawnego typu typu.
W głównym bloku funkcyjnym tego programu mamy zmienną podwójną dane jako „doublex” i zainicjowane z wartością dziesiętną. Następnie utworzyliśmy kolejne dwie zmienne, „Integer1” i „Integer2”, i przypisaliśmy typ danych int. Do konwersji w stylu C używana jest zmienna „Integer1”, a do konwersji stylu funkcji używana jest zmienna „Integre2”. Konwertowane wartości na liczby całkowite z podwójnych danych zostaną wydrukowane po wykonaniu obu konwersji.
Ponieważ oba sposoby jawnej konwersji robią to samo, dają te same następujące wyniki:
Wniosek
Kończymy naszą dyskusję na temat typu oddziału INT do podwójnego w C++. Dowiedzieliśmy się o domyślnych i wyraźnych konwersjach danych INT na podwójne i podwójne dane dotyczące danych danych INT wykorzystywanych w C++. Jednak konwersje lub typowanie można użyć tylko ostrożnie i tylko wtedy, gdy jest to konieczne, aby uniknąć utraty danych i innych problemów.