[问题] signed to unsigned转换

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

Links booklink

Contact Us: admin [ a t ] ucptt.com