C++ ialah bahasa yang ditaip secara statik, jadi semua pembolehubahnya perlu mengisytiharkan jenis data terlebih dahulu. Jenis data menunjukkan jenis nilai yang terkandung dalam pembolehubah. Dalam C++, pembolehubah yang mengandungi nilai angka ialah int, long, float, dan double. int dan long digunakan untuk mewakili nilai integer, manakala float dan double digunakan untuk mewakili nilai perpuluhan. Kedua-dua int dan long mengandungi nilai integer, tetapi dengan satu perbezaan, saiz int ialah 4 bait dan saiz panjang ialah 8 bait.
Penukaran daripada int kepada long boleh dilakukan dalam beberapa cara berbeza, kami hanya membincangkan dua daripadanya. Yang pertama adalah melalui penukaran tersirat dan yang kedua menggunakan penukaran eksplisit. Penukaran jenis eksplisit memerlukan sebutan jenis data yang terhasil dalam kod, penukaran jenis tersirat dilakukan oleh pengkompil itu sendiri. Penukaran jenis eksplisit boleh dicapai lagi dalam dua cara yang diterangkan kemudian. Kami menerangkan penukaran tersirat sebelum ini.
Penukaran tersirat daripada pembolehubah jenis int kepada panjang -
int a; long b = a;
Penukaran tersirat dikendalikan sepenuhnya oleh pengkompil dan pengaturcara tidak perlu melakukan sebarang usaha tambahan untuk penukaran. Hanya berikan pembolehubah sumber kepada pembolehubah sasaran.
#include <iostream> using namespace std; long solve(int var2) { return var2; } int main() { long var1; int var2 = 4103; var1 = solve(var2); cout<< "The value of var1 is: "<< var1 <<endl; cout<< "The size of var1 is: " << sizeof(var1) <<endl; cout<< "The size of var2 is: " << sizeof(var2) <<endl; return 0; }
The value of var1 is: 4103 The size of var1 is: 8 The size of var2 is: 4
Seperti yang ditunjukkan dalam contoh, pembolehubah var1 adalah jenis int, manakala pembolehubah var2 adalah jenis panjang. Nilai 4103 digunakan untuk memulakan pembolehubah var2 dan kemudian menetapkannya kepada var1. Jelas sekali bahawa pengkompil melakukan penukaran jenis tersirat dan menyimpan nilai sebagai integer dalam pembolehubah var1. Saiz pembolehubah juga ditunjukkan dalam output untuk menyemak penukaran, walaupun ini adalah untuk tujuan demonstrasi sahaja dan tidak perlu digunakan setiap kali. Dalam C++, terdapat dua cara untuk melakukan penukaran jenis eksplisit: menggunakan operator cast dan mengisytiharkan jenis data pembolehubah hasil secara eksplisit semasa tugasan.
Dalam C++, terdapat empat jenis operator cast yang berbeza tersedia. Operator cast statik ialah satu-satunya operator yang digunakan dalam artikel ini.
int a; long b = static_cast<long> (a);
#include <iostream> using namespace std; long solve(int var2) { return static_cast<long> (var2); } int main() { long var1; int var2 = 257; var1 = solve(var2); cout<< "The value of var1 is: "<< var1 <<endl; cout<< "The size of var1 is: " << sizeof(var1) <<endl; cout<< "The size of var2 is: " << sizeof(var2) <<endl; return 0; }
The value of var1 is: 257 The size of var1 is: 8 The size of var2 is: 4
Hasilnya setanding dengan coretan kod yang dicuba sebelum ini. Penukaran jenis eksplisit mencapai perkara yang sama, kecuali pengguna kini perlu menentukan kaedah penukaran.
Sama seperti kaedah sebelumnya, kami juga meletakkan jenis data hasil sebelum pembolehubah sumber di sebelah kanan semasa menukar. Tiada pengendali tambahan diperlukan dalam kes ini.
int a; long b = (long) a;
#include <iostream> using namespace std; long solve(int var2) { return (long) var2; } int main() { long var1; int var2 = 37857; var1 = solve(var2); cout<< "The value of var1 is: "<< var1 <<endl; cout<< "The size of var1 is: " << sizeof(var1) <<endl; cout<< "The size of var2 is: " << sizeof(var2) <<endl; return 0; }
The value of var1 is: 37857 The size of var1 is: 8 The size of var2 is: 4
Oleh kerana jenis data yang berbeza memberikan perwakilan dan kaedah yang berbeza untuk beroperasi pada jenis data yang sama, penukaran antara mereka adalah sangat biasa dalam C++ dan bahasa komputer lain. Untuk menukar antara panjang dan int, kami menggunakan dua jenis penukaran yang dipanggil penukaran tersirat dan jenis penukaran eksplisit. Penukaran ini masuk akal apabila data jenis int diperlukan untuk pengiraan yang lebih besar dan lebih kompleks.
Atas ialah kandungan terperinci Program C++ untuk menukar pembolehubah jenis int kepada jenis panjang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!