c++中char类型变量如何转换成int类型变量?
例子:charstr_tmp;intint_tmp;str_tmp='5';int_tmp=(int)str_tmp;cout<<int_tmp<<endl;输出的是5的...
例子:
char str_tmp;
int int_tmp;
str_tmp='5';
int_tmp=(int)str_tmp;
cout<<int_tmp<<endl;
输出的是5的ASCII码值53,怎么才能让int_tmp==5而不是53呢? 展开
char str_tmp;
int int_tmp;
str_tmp='5';
int_tmp=(int)str_tmp;
cout<<int_tmp<<endl;
输出的是5的ASCII码值53,怎么才能让int_tmp==5而不是53呢? 展开
展开全部
从 char 到 int 属于“从短到长”的转换,而从 int 到 char 则为“从长到短”的转换。
短到长时,系统会自动提升,会将1个字节的char类型数据扩充到4个字节(32位系统),对于无符号类型来说,只将int的最低字节复制为char的值,其余三个字节都为0。
长到短时,只将int的最低字节的内容复制到char类型的变量,三个高位字节被忽略,这在编译时会给出警告,但通过强制类型转换则可以避免警告出现,如 char ch = (char)intvar。
短到长时,系统会自动提升,会将1个字节的char类型数据扩充到4个字节(32位系统),对于无符号类型来说,只将int的最低字节复制为char的值,其余三个字节都为0。
长到短时,只将int的最低字节的内容复制到char类型的变量,三个高位字节被忽略,这在编译时会给出警告,但通过强制类型转换则可以避免警告出现,如 char ch = (char)intvar。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询