C++ 是一种静态类型语言,因此它的所有变量都需要事先声明数据类型。数据类型用于表示变量中包含哪种类型的值。在 C++ 中,包含数值的变量有 int、long、float 和 double。 int 和 long 用于表示整数值,而 float 和 double 用于表示小数值。 int 和 long 都包含整数值,但有一点不同,int 的大小为 4 字节,long 的大小为 8 字节。
int 到 long 的转换可以通过多种不同的方式完成,我们只讨论了其中两种。第一个是通过隐式转换,第二个是使用显式转换。显式类型转换需要在代码中提及结果数据类型,隐式类型转换由编译器本身完成。显式类型转换可以通过稍后描述的两种方式进一步完成。我们之前描述过隐式转换。
int 类型变量到 long 的隐式转换 -
int a; long b = a;
隐式转换完全由编译器处理,程序员无需为转换付出任何额外的努力。只需将源变量分配给目标变量即可。
#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
如示例所示,变量 var1 的类型为 int,而变量 var2 的类型为 long。值 4103 用于初始化变量 var2,然后将其赋值给 var1。很明显,编译器执行了隐式类型转换,并将值作为整数保存在变量 var1 中。变量大小也会显示在输出中以检查转换,尽管这仅用于演示目的并且不需要每次都应用。在 C++ 中,有两种方法可以执行显式类型转换:应用强制转换运算符以及在赋值时显式声明结果变量的数据类型。
在 C++ 中,有四种不同类型的强制转换运算符可用。静态强制转换运算符是本文中唯一使用的运算符。
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
结果与之前尝试的代码片段相当。显式类型转换可以完成同样的事情,只不过用户现在需要指定转换方法。
与之前的方法类似,在转换时,我们还将结果数据类型放在右侧源变量之前。在这种情况下不需要额外的操作员。
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
由于不同的数据类型提供了不同的表示和方法来操作同一类型的数据,因此它们之间的转换在 C++ 和其他计算机语言中非常常见。为了在 long 和 int 之间进行转换,我们主要使用两种类型的转换,称为隐式转换和显式转换类型。当需要 int 类型数据进行更大规模、更复杂的计算时,这种转换是有意义的。
以上是C++程序将int类型变量转换为long类型的详细内容。更多信息请关注PHP中文网其他相关文章!