C++中int与char相互转换
转载coco_1998_2 最后发布于2019-02-14 19:37:43 阅读数 2450 收藏
展开
一、ASCII表
了解int与char相互转换之前,先让我们看一下ASCII码表。
其中数字字符对应的位置为:48 - 57。
二、char转int
char转int之前,先将运算式中的每个字符都转换成ASCII码值,再进行计算。
以下代码为例,其中i3的结果符合我们的预期要求。
-
char c = '0';
-
int i1 = c; // 48
-
int i2 = c - 0; // 48
-
int i3 = c - '0'; // 0
-
int i4 = c + '0'; // 96
三、int转char
int转char之前,先将运算式中的每个字符都转换成ASCII码值,再进行计算。
计算出数值后,再据此转换为字符(数值为该字符对应的ASCII码值)。
以下代码为例,其中c3的结果符合我们的预期要求。
-
int i = 5;
-
char c1 = i; // 越界
-
char c2 = i - 0; // 越界
-
char c3 = i - '0'; // 越界
-
char c4 = i + '0'; // 5
四、篇外
如果想要了解string、char[]、char*相互转换,请查看我的博文《C++中string、char *、char[]相互转换》。
如果想要了解string与int类型的相互转换,请查看我的博文《int、string 类型相互转换》