在数学方面我很无用,我有一个问题需要帮助。 这与学校作业无关,事实上它与阿尔卡特和ticketextractor有关。我有两个值需要根据文档中指定的公式在c#应用程序中计算:
“全局callid等于:callid1乘以2的幂32加上callid2”
正如我所说,我对数学并不大,所以这句话对我没有任何意义。如果有人知道如何计算它我会很感激!感谢
答案 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
。