c#计算帮助(TExtractor callid)

时间:2010-06-15 11:51:06

标签: c# math

在数学方面我很无用,我有一个问题需要帮助。 这与学校作业无关,事实上它与阿尔卡特和ticketextractor有关。我有两个值需要根据文档中指定的公式在c#应用程序中计算:

“全局callid等于:callid1乘以2的幂32加上callid2”

正如我所说,我对数学并不大,所以这句话对我没有任何意义。如果有人知道如何计算它我会很感激!感谢

3 个答案:

答案 0 :(得分:4)

首先,你需要一个64位的值来存储它。假设你的callId值是(32位)整数,你需要做这样的事情。

int callId1, callId2;
...
long globalCallId = ((long)callId1 << 32) + callId2;

<<是位移运算符 - 移位32位相当于乘以2 ^ 32。

答案 1 :(得分:1)

最简单的方法是将callid1移位32位。

long globalCallId = ((long)callid1 << 32) + callid2;

答案 2 :(得分:0)

所以全局callid = callid1 * 2 32 + callid2。您可以使用:

long globalCallID = (callid1 << 32) + callid2

这使用了a << b == a multiplied by 2 to the power of b

这一事实