问题
给定一个数字7,将其转换为字符'7'。 或者 给定一个字符'7',将其转换为数字7。
实现
将数字7转换为字符'7': 7 + '0';
将字符'7'转换为数字7; ‘7’ - ‘0’;
原理:
以ASCLL码表为了,对应的字符在表中对应一个十进制数,但是'0'对应的十进制数并不是0,其它的数字也一样。
在数字和字符之间转换时,由于对应的数字字符在码表中是连续存储的(实现这种转换,必须在表中是连续的),所以,如果我们进行'1' - '0' 它对应的结果是1。
上面也是一个道理,一个0-9的数字加上'0',也就相当于'0'在表中对应的十进制数,结果就是相应字符对应的十进制数,其它的数字也是如此。(那么聪字符转数字-'0',也是类似的道理)