帮忙解释下这个是什么意思?
public static int Sum(string str)
{
uint sum=0;//,i=0;
foreach(char a in str)
{
sum += a;
if(sum> 65535)//control the max value
{
sum &= 0x0ffff;
}
}
return (int)sum;
}
------解决方案--------------------将字符串里的每个字符转换为整型数字.
比如字符串 "abc23 " 就是 'a ' = 97 + b = '98 ' + c = '99 ' + '2 ' = 50 + '3 '= '51 '返回结果..
至少这个程序就是这样执行的..然后为了避免超过65535范围...65535二进制是1111111111111111和0x0ffff是相同的, 如果进行&操作, 则超出的部门为被变为0..