用魔法数字2559将字符串转成整型

编程中字符串转整型有很多种方法,现在要介绍一种黑科技方法(虽然没什么卵用)。
不过这个方法只对2字符和3字符的字符串有效,在C/C++中比较好使。
2字符版本:(*(short *)"AB" & 0xf0f) * 2569 % 2559 == A*10+B
3字符版本:(*(int *)"ABC" & 0xf0f0f) * 2659 % 2559 == A*100+B*10+C
(以上A,B,C都是0到9的数字)

数学原理如下:
首先(*(short *)"AB" & 0xf0f)可以得到A+B*256,然后
(A+B*256)*2569%2559
=(A*2569+B*256*2569)%2559
=(A*(2569%2559)+B*(256*2569%2559))%2559
=(A*10+B)%2559
∵0≤A*10+B<2559
∴(A*10+B)%2559=A*10+B
3字符版本的证明同理。
以上是个人发呆时的产物