我能用这种方法做一个演员吗?
int clockOffset;
clockOffset=((int64_t)Time_1_delayed-Time_1-Time_2_delayed+Time_2)/2;其中所有的时间变量都是uint。
我想在clockOffset中得到签名的结果。
发布于 2013-02-07 23:29:05
下面是你可以在C中做的事情(假设整型和无符号整型比长整型短):
#include <limits.h>
...
unsigned int Time_1_delayed, Time_1, Time_2_delayed, Time_2;
...
long long diff = ((long long)Time_1_delayed - Time_1 - Time_2_delayed + Time_2) / 2;
int clockOffset;
if (diff < INT_MIN || diff > INT_MAX)
HandleTheError();
clockOffset = diff;
...发布于 2015-09-28 20:31:33
你不需要选角。例如,你可以这样做。
uint32_t a = 100;
uint32_t b = 200;
int32_t c = a - b;你会得到c = -100的。
https://stackoverflow.com/questions/14754634
复制相似问题