遇到了一个与自己直觉相异的问题
有一个12bit的signed int经过 filter后要转回unsigned int
我的直觉是把signed int加上2048即可
但看到的资料好像不一定可以这样做
想请问有什么状况是不能这样加2048就转回unsigned吗?
谢谢
signed integer overflow causes undefined behavior?
signed -> unsigned 好像会 mod 那个 unsigned+1?
我记得是undefined behavior 不过每家行为都一样
作者:
CindyLinz (Cindy Wang)
2014-09-23 17:37:00要看你怎么写耶.. 如果你是先转型 unsigned 再加那就不会 undefined behavior 了而实际经验的话.. 没有用过12bits的int,所以没有经验XD
我目前怀疑是要避免overflow,只是不知道该如何验证
作者:
LPH66 (-6.2598534e+18f)
2014-09-24 20:17:00基本上要看那个 signed 是何种表示法; 二补数可以这么做一补数或 sign-magnitude 的话则不行