前一段时间我发现了这段代码,我想了解它是如何工作的)
int index = (int)c % 32 +1;
Run Code Online (Sandbox Code Playgroud)
我已成功使用此行将字母转换为数字 - 例如a变为1(A也是如此)有人可以解释一下这是怎么发生的(我看起来有点基础32但不是更明智)?还会有将整数转换回字母的简单方法?
所有字母都有整数代码.例如'a'有代码97.所以(int)'a'是97.所以(int)'a' % 32是1.因为少于32个英文字母,一切都正确转换.同样通过快乐的巧合,上下字母之间的差异是32(例如'a' - 'A' == 32).因此适用于大写字母.
要将整数转换回字母,您还可以使用整数代码.例如,'A' + index - 1会给你带index字母数字的大写字母.也'a' + index - 1将给予相同数量的较低信.
以ASCII为例,查看符号的整数代码.
| 归档时间: |
|
| 查看次数: |
1460 次 |
| 最近记录: |