遇到了一個與自己直覺相異的問題
有一個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 的話則不行