【发布时间】:2011-02-12 00:12:05
【问题描述】:
我很惊讶我无法通过强制转换将有符号整数转换为无符号整数!
int i = -62;
unsigned int j = (unsigned int)i;
我以为我开始使用演员表时就已经知道这一点,但我做不到!
【问题讨论】:
-
从逻辑上讲,您希望这个演员做什么?
-
我的坏人,但我很欣赏你的解释。我试图将signed char -62 转换为unsigned int 并期望得到194(x.x)的值
-
嗯...选角?整数类型之间的转换不需要 C++ 中的强制转换。它们是标准转换,并且是隐式执行的。在您的情况下,您只需执行
unsigned int j = i;即可获得完全相同的效果。 -
您的代码编译得很好 (live on godbolt)。你能编辑这个问题,使它不暗示它不编译吗?这是误导。
标签: c++