Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Program C++ untuk menukar pembolehubah jenis int kepada jenis panjang

Program C++ untuk menukar pembolehubah jenis int kepada jenis panjang

PHPz
PHPzke hadapan
2023-09-05 19:33:061489semak imbas

Program C++ untuk menukar pembolehubah jenis int kepada jenis panjang

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.

Tatabahasa

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.

Algoritma

  • Dapatkan input dalam pembolehubah int, seperti a.
  • Tetapkan pembolehubah int kepada pembolehubah panjang. Jika pembolehubah panjang ialah b, maka a ditugaskan kepada b.
  • Cetak nilai.

Contoh

#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;
}

Output

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.

Gunakan operator cast

Dalam C++, terdapat empat jenis operator cast yang berbeza tersedia. Operator cast statik ialah satu-satunya operator yang digunakan dalam artikel ini.

Tatabahasa

int a;
long b = static_cast<long> (a);

Algoritma

  • Dapatkan input dalam pembolehubah int, seperti a.
  • Gunakan pengendali static_cast untuk menetapkan pembolehubah int kepada pembolehubah panjang (cth. b).
  • Cetak nilai.

Contoh

#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;
}

Output

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.

Sebutkan jenis data semasa memberikan nilai

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.

Tatabahasa

int a;
long b = (long) a;

Algoritma

  • Dapatkan input dalam pembolehubah int, seperti a.
  • Tugaskan pembolehubah int kepada pembolehubah panjang (cth. b) dan nyatakan jenis data yang terhasil.
  • Cetak nilai.

Contoh

#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;
}

Output

The value of var1 is: 37857
The size of var1 is: 8
The size of var2 is: 4

Kesimpulan

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!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam