Bahasa C
Typecasting adalah mengubah satu tipe data menjadi yang lain. Ini juga disebut sebagai konversi data atau konversi tipe dalam bahasa C. Ini adalah salah satu konsep penting yang diperkenalkan dalam pemrograman 'C'.
Pemrograman 'C' menyediakan dua jenis operasi pengecoran tipe:
Pengecoran tipe implisit berarti konversi tipe data tanpa kehilangan makna aslinya. Jenis typecasting ini penting ketika Anda ingin mengubah tipe data tanpa mengubah signifikansi nilai yang disimpan di dalam variabel.
Konversi tipe implisit dalam C terjadi secara otomatis ketika suatu nilai disalin ke tipe data yang kompatibel. Selama konversi, aturan ketat untuk konversi tipe diterapkan. Jika operan terdiri dari dua tipe data yang berbeda, maka operan yang memiliki tipe data lebih rendah secara otomatis diubah menjadi tipe data yang lebih tinggi. Jenis konversi jenis ini dapat dilihat pada contoh berikut.
#include<stdio.h> int main(){ short a=10; //initializing variable of short data type int b; //declaring int variable b=a; //implicit type casting printf("%d\n",a); printf("%d\n",b); }
Keluaran:
10 10
Perhatikan contoh penambahan karakter yang didekodekan dalam ASCII dengan bilangan bulat:
#include <stdio.h> main() { int number = 1; char character = 'k'; /*ASCII value is 107 */ int sum; sum = number + character; printf("Value of sum : %d\n", sum ); }
Keluaran:
Value of sum : 108
Di sini, compiler telah melakukan promosi bilangan bulat dengan mengubah nilai 'k' ke ASCII sebelum melakukan operasi penjumlahan yang sebenarnya.
Kompiler pertama-tama melanjutkan dengan mempromosikan karakter ke bilangan bulat. Jika operan masih memiliki tipe data yang berbeda, maka akan dikonversi ke tipe data tertinggi yang muncul pada diagram hierarki berikut:
Hierarki Konversi Aritmatika
Perhatikan contoh berikut untuk memahami konsepnya:
#include <stdio.h> main() { int num = 13; char c = 'k'; /* ASCII value is 107 */ float sum; sum = num + c; printf("sum = %f\n", sum );}
Keluaran:
sum = 120.000000
Pertama-tama, variabel c akan dikonversi ke integer, tetapi kompilator mengonversi num dan c menjadi "float" dan menambahkannya untuk menghasilkan hasil 'float'.
Kami tidak dapat melakukan casting tipe implisit pada tipe data yang tidak kompatibel satu sama lain seperti:
Dalam semua kasus di atas, ketika kita mengonversi tipe data, nilainya akan kehilangan artinya. Umumnya, hilangnya makna nilai diperingatkan oleh kompilator.
Pemrograman 'C' menyediakan cara lain untuk typecasting yaitu casting tipe eksplisit.
Dalam konversi tipe implisit, tipe data dikonversi secara otomatis. Ada beberapa skenario di mana kita mungkin harus memaksa konversi tipe. Misalkan kita memiliki variabel div yang menyimpan pembagian dua operand yang dideklarasikan sebagai tipe data int.
int result, var1=10, var2=3; result=var1/var2;
Dalam hal ini, setelah pembagian dilakukan pada variabel var1 dan var2 hasil yang disimpan dalam variabel “result” akan berformat integer. Setiap kali ini terjadi, nilai yang disimpan dalam variabel "hasil" kehilangan artinya karena tidak mempertimbangkan bagian pecahan yang biasanya diperoleh dalam pembagian dua angka.
Untuk memaksa konversi tipe dalam situasi seperti itu, kami menggunakan casting tipe eksplisit.
Ini membutuhkan operator pengecoran tipe. Sintaks umum untuk operasi pengecoran tipe adalah sebagai berikut:
(type-name) expression
Di sini,
Mari kita menulis sebuah program untuk mendemonstrasikan bagaimana typecast dalam C dengan eksplisit type-casting.
#include<stdio.h> int main() { float a = 1.2; //int b = a; //Compiler will throw an error for this int b = (int)a + 1; printf("Value of a is %f\n", a); printf("Value of b is %d\n",b); return 0; }
Keluaran:
Value of a is 1.200000 Value of b is 2
Dengan cara ini, kita dapat mengimplementasikan casting tipe eksplisit dalam pemrograman C.
Ingatlah aturan berikut untuk praktik pemrograman saat menangani tipe data yang berbeda untuk mencegah kehilangan data :
Bahasa C
Apa itu Enkapsulasi di Java? Enkapsulasi di Jawa adalah mekanisme untuk membungkus variabel (data) dan metode (kode) bersama-sama sebagai satu unit. Ini adalah proses menyembunyikan detail informasi dan melindungi data dan perilaku objek. Ini adalah salah satu dari empat konsep OOP yang penting. Ke
Apa itu Variabel di Java? Variabel di Jawa adalah wadah data yang menyimpan nilai data selama eksekusi program Java. Setiap variabel diberi tipe data yang menunjukkan tipe dan jumlah nilai yang dapat disimpannya. Variabel adalah nama lokasi memori dari data. Variabel Java terutama memiliki tiga jen
Paket Python Attrs memungkinkan Anda membuat kelas data lanjutan menggunakan anotasi sederhana. Tentu saja, python juga memiliki modul kelas data asli sendiri, tetapi paket Python attrs menawarkan beberapa fitur tambahan yang mungkin Anda sukai! Daftar isi Instal atribut Attrs vs kelas data Contoh
Mengubah satu tipe data menjadi tipe lain dikenal sebagai tipe casting atau, tipe-konversi. Misalnya, jika Anda ingin menyimpan nilai long ke dalam bilangan bulat sederhana, maka Anda dapat mengetik cast long ke int. Anda dapat mengonversi nilai dari satu jenis ke jenis lainnya secara eksplisit meng