C/C + +如何将字符变量(char转化为整形(int)

 (char)转整型(int)


    char c;
     int a;
    cin>>c; 

    if(c=='A') 
        a = 1 ;

    else 
        a = (c-'0');
    // a = (c- 48);
    // a =  atoi('c');
	cout<<"============"<<a<<endl;

	

	return 0;

 

反之


    int c;
     char a;
    cin>>c; 

  
        a = (c+'0');
    // a = (c- 48);
    // a =  atoi('c');
	cout<<"============"<<a<<endl;

	

	return 0;
//	因为整数型在ASCII码表中是线性排列的,及从48到57 对应着是 0到9;
	
	
	

 

字符 ‘0’ 对应的码值为48,所以在内存中存储的是48的二进制,我们从表中可以看出, ‘1’ 的字符编码是49,在内存中存储的的就是49的二进制,当49-48=1,再将其转换成整型,那么在内存中存储的二进制1也就是数字1啦。

 为什么小写字母 ‘A’-‘ ’ 可以转为大写字母呢?
这是因为空格’ ’ 的ASCII码值为32,而大写字母与小写字母码值真好相差32喔。
 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值