![](http://gadget-info.com/img/difference-between/905/difference-between-type-casting.jpg)
Carta Perbandingan:
Asas untuk Perbandingan | Jenis Casting | Taip Penukaran |
---|---|---|
Makna | Satu jenis data diberikan kepada pengguna lain, menggunakan operator pemanggil maka disebut "Type Casting". | Penukaran satu jenis data kepada yang lain secara automatik oleh pengkompil disebut "Jenis Penukaran". |
Dimohon | Jenis pemutus juga boleh digunakan untuk dua jenis data 'tidak serasi'. | Penukaran jenis hanya boleh dilaksanakan apabila dua jenis data 'serasi'. |
Pengendali | Untuk menghantar jenis data kepada yang lain, diperlukan 'operator' () 'pemutus'. | Tiada pengendali diperlukan. |
Saiz Jenis Data | Jenis destinasi boleh menjadi lebih kecil daripada jenis sumber. | Di sini jenis destinasi mestilah lebih besar daripada jenis sumber. |
Dilaksanakan | Ia dilakukan semasa merancang program. | Ia dilakukan dengan jelas semasa menyusun. |
Jenis penukaran | Menukar penukaran. | Pertukaran belian. |
Contoh | int a; bait b; ... ... b = (byte) a; | int a = 3; float b; b = a; // nilai dalam b = 3.000. |
Definisi Jenis Pemutus
Jenis pemutus boleh ditakrifkan sebagai, pemutus satu jenis data kepada jenis data lain, oleh pengaturcara, pada masa reka bentuk program. Aa automatik penukaran satu jenis data kepada yang lain, tidak mungkin sepanjang masa. Mungkin keadaan 'jenis destinasi' lebih kecil daripada 'jenis sumber' jadi, pemrogram perlu menghantar jenis data yang lebih besar kepada jenis data yang lebih kecil menggunakan operator '' () '. Oleh kerana jenis data yang lebih besar dimodulasi kepada jenis data yang lebih kecil, ia juga dipanggil 'penukaran sempit'.
![](http://gadget-info.com/img/difference-between/905/difference-between-type-casting-2.jpg)
Destination_type = (target_type) variabel / nilai // jenis sasaran adalah jenis di mana anda ingin menukar jenis sumber itu selalu jenis destinasi.
Mari kita fahami dengan contohnya. Anda mahu menukar jenis data 'int' kepada 'byte', sekarang, sebagai 'byte' lebih kecil daripada 'int', penukaran jenis tidak dibenarkan. Di sini, kita terpaksa menukar 'int' ke 'bait' dengan menggunakan operator '' () '. Oleh kerana 'int' lebih besar daripada 'bait', saiz 'int' akan dikurangkan kepada julat "int mod byte".
int a; bait b; ... ... b = (byte) a;
Apabila 'float' ditukar kepada 'int', saiz apungan akan dipotong, kerana 'int' tidak menyimpan nilai fraksional. Jika saiz jenis destinasi terlalu kecil untuk jenis sumber masuk ke dalam, maka jenis sumber adalah 'julat' jenis destinasi modulo. Pelakon juga boleh digunakan apabila jenis data serasi, amalan yang baik untuk menggunakan pemutus jenis di mana penukaran jenis diperlukan.
Definisi Penukaran Jenis
Jenis penukaran ialah penukaran automatik satu jenis data kepada yang lain apabila diperlukan, dilakukan secara eksplisit oleh pengkompil. Tetapi ada dua syarat yang perlu dipenuhi sebelum penukaran jenis.
- Jenis sumber dan destinasi mesti serasi.
- Jenis destinasi mestilah lebih besar daripada jenis sumber.
Kedua-dua syarat ini perlu dipenuhi untuk mencapai penukaran jenis, dan penukaran jenis ini dipanggil 'penukaran penukaran', kerana jenis yang lebih kecil ditukarkan kepada jenis yang lebih besar, pelebaran jenis berlaku. Untuk penukaran ini, jenis angka sebagai 'int', 'float' serasi antara satu sama lain manakala angka untuk char dan boolean atau char ke boolean juga tidak serasi.
![](http://gadget-info.com/img/difference-between/905/difference-between-type-casting-3.jpg)
Contoh ini akan memberikan pandangan yang lebih baik tentang ini
int a = 3; float b; b = a; // nilai dalam b = 3.000.
Di sini, 'int' ditukarkan kepada 'float' yang lebih besar daripada 'int', jadi pelebaran jenis sumber berlaku. Di sini, tiada pengendali casting diperlukan kerana pengkompil akan melakukannya dengan jelas.
Perbezaan utama antara pemilihan jenis dan penukaran
- Perbezaan asas yang membezakan jenis pemutus daripada penukaran jenis ialah jenis pemutus adalah penukaran satu jenis yang lain, dilakukan oleh pengaturcara. Sebaliknya, penukaran jenis adalah penukaran satu jenis yang lain, yang dilakukan oleh pengkompil semasa menyusun.
- Jenis pemutus boleh digunakan pada datatip yang mungkin tidak serasi antara satu sama lain tetapi penukaran jenis hanya boleh digunakan pada datatip yang serasi antara satu sama lain.
- Penukaran jenis satu kepada yang lain dalam pemutus jenis memerlukan pengendali pemutus "()" sementara, penukaran satu jenis data kepada yang lain dalam penukaran jenis tidak memerlukan pengendali apa-apa.
- Semasa menukar satu jenis data kepada yang lain dalam pemutus jenis, jenis destinasi boleh menjadi lebih besar atau lebih kecil daripada jenis sumber. Sebaliknya, jenis destinasi mestilah lebih besar daripada jenis sumber penukaran jenis.
- Penukaran satu jenis kepada jenis lain dilakukan semasa pengkodan dalam pemutus jenis sedangkan, dalam penukaran jenis, penukaran satu jenis ke satu lagi dilakukan secara eksplisit semasa penyusunan.
- Jenis pemutus dipanggil penukaran sempit kerana di sini jenis destinasi boleh menjadi lebih kecil daripada jenis sumber sedangkan, penukaran jenis dipanggil penukaran yang melebar kerana di sini, jenis destinasi mestilah lebih besar daripada jenis sumber.
Kesimpulan:
Ia boleh membuat kesimpulan bahawa jenis penukaran dan jenis pemutus, kedua-duanya melaksanakan tugas menukar satu jenis data kepada yang lain tetapi berbeza dalam arti bahawa pemutus jenis dilakukan oleh pengaturcara, menggunakan operator '' () 'dan penukaran jenis dilakukan oleh pengkompil, dan ia tidak menggunakan mana-mana pengendali.