实现方式
rt,如果假设所得的char类型变量c是0~9之中的一个的话,通过int a; a = c ^ 48;
就能将这个0~9中的某个数赋给a。
原理
三个前置已知:09的ASCII码是4857;48的二进制是110000,57的二进制是111001。
其实由这三个前置已知就基本能看出来为什么可以这样干了,上面的a = c ^ 48实际上就等价于a = c - 48。
rt,如果假设所得的char类型变量c是0~9之中的一个的话,通过int a; a = c ^ 48;
就能将这个0~9中的某个数赋给a。
三个前置已知:09的ASCII码是4857;48的二进制是110000,57的二进制是111001。
其实由这三个前置已知就基本能看出来为什么可以这样干了,上面的a = c ^ 48实际上就等价于a = c - 48。