Re: 請問一個位元運算問題

看板Programming作者 (-858993460)時間13年前 (2010/12/03 06:27), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串6/13 (看更多)
※ 引述《modester@kkcity.com.tw (兄弟般的bf)》之銘言: : 可以再請問一下嗎? : ALU在將兩個二進制8位元數10010110和00101101相加時 : 運算過程會將下列那個狀態旗標設定為1? : A.滿溢 B.負值 C.進位 D.零值 : 我的答案是C,但正確答案是B : 難道其中之一是負值嗎? 是的 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 則是對應有號數的計算結果... -- 1989/02/22 優希堂悟 1990/02/22 冬川こころ 1993/07/05 小町つぐみ 1994/05/21 高江 ミュウ 1995/04 歡迎來到 星野遊々 1997/03/24 守野いづみ 1997/03/24 伊野瀬チサト 1998/06/18 守野くるみ 1999/10/19 打越鋼太郎的 楠田ゆに 2000/02/15 樋口遙 2002/ 12/17 八神ココ 2011/01/11 HAL18於朱倉岳墜機 2011/04/02 ∞與∫的世界 茜崎空啟動 2012/05/21 第貮日蝕計畫預定 2017/05/01~07 LeMU崩壞事故 2019/04/01~07 某大學合宿 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.230.62
文章代碼(AID): #1C-1reLv (Programming)
討論串 (同標題文章)
文章代碼(AID): #1C-1reLv (Programming)