Tipe Data Konversi Bahasa C dan Fungsinya
- Dilakukan oleh kompilator itu sendiri, tanpa ada trigger eksternal dari pengguna.
- Umumnya konversi terjadi pada ekspresi data yang ditampilkan lebih dari satu. Seperti kondisi konversi tipe (type promotion) yang mengambil tempat untuk menghindari kehilangan data.
- 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
- 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 program untuk kon
// versi implisit pada bahasa C
#include<stdio.h>
int main()
{
int x = 10; // integer x
char y = 'a'; // character c
// y dikonversi secara impli
// sit ke tipe data int.
// Nilai ASCII dari 'a'
// adalah 97
x = x + y;
// x dikonversi secara impli
// sit ke tipe data float
float z = x + 1.0;
printf("x = %d, z = %f", x, z);
return 0;
}
dua, Konversi tipe eksplisit
Sintak pada bahasa C:
(type) expression
// Program bahasa C untuk
// mendemonstrasikan type
// casting secara eksplisit
#include<stdio.h>
int main()
{
double x = 1.2;
// Konversi eksplisit dari
// tipe data double ke tipe
// data int
int sum = (int)x + 1;
printf("sum = %d", sum);
return 0;
}
Kelebihan dari tipe konversi:
- Hal ini dilakukan untuk memanfaatkan fitur tertentu dari hirarki tipe data atau representasi tipe data.
- Membantu untuk mengkomputasi ekspresi yang mengandung variabel dengan tipe data yang berbeda.
Apa yang dimaksud dengan typecast pada bahasa C?
BalasHapusType Casting merupakan cara untuk mengkonversi variabel dari satu tipe data ke tipe data lainnya. Contoh, jika dilakukan penyimpanan nilai dengan tipe data long kemudian ingin diubah menjadi tipe data int, maka proses perubahan atau konversi tersebut dapat dilakukan dengan menggunakan typecast pada bahasa C. Proses konversi juga dapat dilakukan secara eksplisit dari satu jenis tipe data ke jenis tipe data lainnya secara eksplisit menggunakan operator cast.
HapusType casting pada bahasa C mengacu pada makna perubahan variabel dari satu tipe data ke tipe data lainnya. Kompilator secara otomatis akan melakukan perubahan tipe data dari tipe data lainnya yang sesuai. Contoh, jika ditetapkan nilai integer dari variabel tertentu ke tipe data float, maka kompilator akan mengubah nilai int pada variabel tersebut ke dalam tipe data float.
BalasHapusApa perbedaan antara type casting dan type conversion pada bahasa C?
BalasHapusPada type casting, tipe data diubah menjadi tipe data lain oleh programmer menggunakan operator casting. Sedangkan dalam type conversion, tipe data diubah menjadi tipe data lain oleh kompilator itu sendiri. Jenis casting dapat diterapkan pada jenis data yang kompatibel, dan juga pada jenis data yang tidak kompatibel.
Hapus