C++-获取字符对应的整数

由于使用字符形式存储数字时,存储的是数字对应的 ASCII 码!

由于在 ASCII 码表中字符 '0' 到字符 '9' 是连续存放的,所以下面的程序可以获得字符对应的数字:

char c = '2'; //c中存储的是字符'2'的ASCII码 int k = c - '0'; //k即为字符'2'对应的整数2

 

 

这段程序的目的是将字符形式的数字转换为相应的整数。

char c = '2';:在这一行,字符 '2' 被赋值给变量 c。在计算机中,字符是以ASCII码的形式存储的,所以 c 中实际存储的是字符 '2' 对应的ASCII码。

int k = c - '0';:这一行将字符 '2' 对应的ASCII码减去字符 '0' 对应的ASCII码。在ASCII码中,字符 '0' 到字符 '9' 是连续存放的,它们的ASCII码是依次递增的。因此,通过将字符 '2' 的ASCII码减去字符 '0' 的ASCII码,得到的结果就是字符 '2' 对应的整数值。

 

在ASCII码中,'0'的ASCII码是48,'1'是49,依次递增,所以当 '2' 的ASCII码(50)减去 '0' 的ASCII码(48),得到的结果是2,这样变量 k 就存储了整数值 2!

 

这个技巧适用于将字符形式的数字转换为整数,但前提是字符确实是 '0' 到 '9' 范围内的 数字 字符。这样的转换在编程中经常用到,尤其是在处理用户输入的字符时。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值