Sebuah type cast pada dasarnya dalah konversi dari satu tipe ke tipe yang lainnya. Terdapat dua tipe dari tipe konversi seperti pada gambar 1.
satu, Konversi tipe implisit
Dikenal juga dengan istilah konversi tipe otomatis (automatic type conversion).
satu, Dilakukan oleh kompilator itu sendiri, tanpa ada trigger eksternal dari pengguna.
dua, Umumnya konversi terjadi pada ekspresi data yang ditampilkan lebih dari satu. Seperti kondisi konversi tipe (type promotion) yang mengambil tempat untuk menghindari kehilangan data.
tiga, Semua tipe data dari variabel diperbarui ke tipe data dari variabel dengan tipe data yang lebih besar.
bool -> char -> short int -> int ->
unsigned int -> long -> unsigned ->
long long -> float -> double -> long double
empat, Sangat mungkin pada konversi implisit terjadi kehilangan informasi, sign yang hilang (ketika sign secara implisit dikonversi ke unsigned), dan overflow juga dapat terjadi ketika tipe data long long secara implisit dikonversi ke tipe data float.
Contoh dari konversi tipe implisit:
![]() |
Gambar 1 Typecasting bahasa c |
satu, Konversi tipe implisit
Dikenal juga dengan istilah konversi tipe otomatis (automatic type conversion).
satu, Dilakukan oleh kompilator itu sendiri, tanpa ada trigger eksternal dari pengguna.
dua, Umumnya konversi terjadi pada ekspresi data yang ditampilkan lebih dari satu. Seperti kondisi konversi tipe (type promotion) yang mengambil tempat untuk menghindari kehilangan data.
tiga, Semua tipe data dari variabel diperbarui ke tipe data dari variabel dengan tipe data yang lebih besar.
bool -> char -> short int -> int ->
unsigned int -> long -> unsigned ->
long long -> float -> double -> long double
empat, Sangat mungkin pada konversi implisit terjadi kehilangan informasi, sign yang hilang (ketika sign secara implisit dikonversi ke unsigned), dan overflow juga dapat terjadi ketika tipe data long long secara implisit dikonversi ke tipe data float.
Contoh dari konversi tipe implisit:
Output:
x = 107, z = 108.000000
dua, Konversi tipe eksplisit
Proses ini juga memanggil tipe type casting dan didefinisikan oleh pengguna. User atau pengguna dapat mengetik hasil untuk membuat sebuah tipe data tertentu.
Sintak pada bahasa C:
(type) expression
Type mengindikasikan tipe data untuk hasil akhir dari konversi.
x = 107, z = 108.000000
dua, Konversi tipe eksplisit
![]() |
Gambar 2 konversi tipe eksplisit |
Proses ini juga memanggil tipe type casting dan didefinisikan oleh pengguna. User atau pengguna dapat mengetik hasil untuk membuat sebuah tipe data tertentu.
Sintak pada bahasa C:
(type) expression
Type mengindikasikan tipe data untuk hasil akhir dari konversi.
Output:
sum = 2
Kelebihan dari tipe konversi:
satu, Hal ini dilakukan untuk memanfaatkan fitur tertentu dari hirarki tipe data atau representasi tipe data.
dua, Membantu untuk mengkomputasi ekspresi yang mengandung variabel dengan tipe data yang berbeda.
sum = 2
Kelebihan dari tipe konversi:
satu, Hal ini dilakukan untuk memanfaatkan fitur tertentu dari hirarki tipe data atau representasi tipe data.
dua, Membantu untuk mengkomputasi ekspresi yang mengandung variabel dengan tipe data yang berbeda.
Tidak ada komentar:
Posting Komentar
Respon komentar 7 x 24 jam, so please be patient :D