Konwersja typów to forma określania typów, technika stosowana w informatyce i programowaniu oprogramowania komputerowego, w której typ danych określonej jednostki jest zamieniany na inny typ danych. Koncepcja określania typów powstała, aby obejść określony system typów języka programowania, dzięki czemu można osiągnąć pewne efekty, które w innym przypadku byłyby trudne do wykonania w ramach formalnej definicji języka programowania. Konwersja typów, będąca najpowszechniejszą formą określania typów, jest możliwa w praktycznie wszystkich językach programowania, chociaż niektóre języki oferują dodatkowe metody określania typów, takie jak unia lub reinterpretacja. Niektóre przewodniki po stylach programowania odradzają określanie typów, mimo że konwersja typów jest i tak często używana.
Konwersja typu jest również czasami określana jako rzutowanie typu lub wymuszanie, w zależności od używanego języka programowania. Każdy język programowania ma zasady dotyczące tego, w jaki sposób konwersja typów może być pomyślnie używana. Ogólnie rzecz biorąc, konwersje mogą odbywać się na podstawowych typach lub obiektach.
Istnieje kilka podstawowych typów danych lub klas typów danych. Jednym z powszechnych typów danych używanych w operacjach matematycznych są liczby całkowite lub liczby zwykłe, które mogą sięgać tysięcy lub milionów, w zależności od liczby bitów w ich szerokości. Na przykład 32-bitowa liczba całkowita może mieć zakres od zera do 4,294,967,295 2,147,483,648 2,147,483,648 XNUMX lub od -XNUMX XNUMX XNUMX XNUMX do XNUMX XNUMX XNUMX XNUMX. Innym typem jest liczba zmiennoprzecinkowa, która jest w zasadzie dowolną liczbą z przecinkiem dziesiętnym.
Jako typ danych można również użyć pojedynczych znaków, takich jak litera alfabetu lub znak interpunkcyjny. Typ danych ciągu to dowolna grupa lub sekwencja cyfr i/lub liter bez przerwy; długości ciągów są dowolne, ale ich rozmiar lub limit jest zwykle zdefiniowany w języku programowania. Najstarszym typem danych jest Boolean, który jest po prostu prawdą lub fałszem. Inne klasy typów obejmują algebraiczne, funkcje, dane maszynowe i obiekty. Na przykład w językach obiektowych przodek obiektu może używać typu obiektu nadrzędnego, dzięki czemu ich wzajemne interakcje przebiegają płynniej.
Specyfika konwersji typów tak naprawdę nie wchodzi w grę, dopóki nie zostaną wzięte pod uwagę reguły konkretnego języka programowania. Niektóre reguły języka dodatkowo dyktują, czy konwersja typu jest niejawna, czy jawna. Niejawna konwersja typu jest najczęściej nazywana wymuszeniem i zwykle ma miejsce podczas kompilacji programu z kodu źródłowego do programu wykonywalnego. Może się to zdarzyć, powiedzmy, jeśli w wyrażeniu zostanie użytych wiele typów danych, a następnie zostanie wykonane porównanie. Konwersja typu jest uważana za niejawną, a kompilator obsługuje ją automatycznie; jawna konwersja typu jest zdefiniowana w kodzie programu. Język programowania C rozróżnia te dwa, wywołując niejawną konwersję typu przymusem i jawną konwersję typu rzutowaniem.
Prostym przykładem typowej konwersji typu są operacje matematyczne na liczbach w programie komputerowym. Program komputerowy odbierający liczbę dziesiętną, typ danych zmiennoprzecinkowych, jako dane wejściowe, może wymagać przekształcenia liczby na typ danych całkowitych w celu wykonania operacji matematycznych lub odwrotnie. Ta konwersja umożliwia kontynuowanie operacji.