看板Programming
标 题Re: 请问一个位元运算问题
发信站KKCITY (Fri Dec 3 09:49:45 2010)
转信站ptt!news.ntu!ctu-gate!news.nctu!news.ntust!csnews.cs.nctu!news.cs.nctu
※ 引述《[email protected] (-858993460)》之铭言:
> 是的
> 10010110
> + 00101101
> ----------
> 11000011
> 最高位没有进位出去 所以 carry flag 为 0
> 最高位没有发生 0+0 => 1 或 1+1 => 0 所以 overflow flag 也为 0
> 结果的最高位是 1 所以 negative flag 为 1
> 其实 carry 和 overflow 两个 flag 直接以这个方式来判断即可
> 如果以正负数来判断有时会搞混
> 因为 carry flag 对应无号数的计算结果
> 而 overflow flag 则是对应有号数的计算结果...
你意思是说没有第九位,所以overflow flag为0
第八位没有进位(只是1+0),所以carry flag为0
进位只看最高位(第八位),其它位元不算吗?
又最高位为1,所以这个加法结果
A. 若以有号数来看是-67
B. 若以1补数来看是-60
C. 若以2补数来看是-61
所以negative flag才为1?
最後两句话有点不懂...
--
┌─────◆KKCITY◆─────┐ ◢
◤ 找歌最方便 KKBOX 歌词搜寻!!
│ bbs.kkcity.com.tw │ \^_^ / ★http://www.kkbox.com.tw★
└──《From:61.231.64.147
》──┘ ◤ 唱片公司授权,音乐尽情下载
--