首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >减去unsigned,得到signed

减去unsigned,得到signed
EN

Stack Overflow用户
提问于 2013-02-07 23:20:39
回答 2查看 1.2K关注 0票数 2

我能用这种方法做一个演员吗?

代码语言:javascript
运行
复制
int clockOffset;

clockOffset=((int64_t)Time_1_delayed-Time_1-Time_2_delayed+Time_2)/2;

其中所有的时间变量都是uint

我想在clockOffset中得到签名的结果。

EN

回答 2

Stack Overflow用户

发布于 2013-02-07 23:29:05

下面是你可以在C中做的事情(假设整型和无符号整型比长整型短):

代码语言:javascript
运行
复制
#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;
...
票数 1
EN

Stack Overflow用户

发布于 2015-09-28 20:31:33

你不需要选角。例如,你可以这样做。

代码语言:javascript
运行
复制
uint32_t a = 100;
uint32_t b = 200;
int32_t c = a - b;

你会得到c = -100的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14754634

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档