繁体   English   中英

用uint计算

[英]Calculation with uint

我有用于从字符串输入计算uint数的代码

当我输入类似“ X1_Lore_Realmwalker”的输入文本时给出“ 1960749072”,这是正确的数字,但是当我输入其他文本“ Lore_AzmodansOrders1”给出2909223662但该数字不正确时,应为-1385743634,但此程序未计算出正确的值

            uint HashLowerCase(string input)
            {
                input = input.ToLowerInvariant();
                uint hash = 0;
                for (int i = 0; i < input.Length; i++)
                    hash = (hash << 5) + hash + input[i];
                return hash;                

            }
            Console.WriteLine(test);
            Console.ReadKey();

uint是无符号整数,您不能使其包含负数。 将所有uint更改为int (方法签名和hash变量类型)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM