[問題] 二補數運算全加器 carry out 的問題

看板Electronics作者 (MLB第一型男)時間16年前 (2008/04/30 23:22), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/2 (看更多)
4-bit 對 4-bit 二補數的加法運算 也就是 input a[3:0], b[3:0] 和 output sum[3:0] 都是二補數表示法 另外還有 input carry_in 和 output carry_ou, overflow 想請問 carry_out 的定義以及如何工作? overflow 就是當 sum 不在 -8 ~ 7 之間時要顯示 overflow = 1 當 overflow 發生時,計算結果應該把 carry_out 一起拿來看 也就是 {carry_out,sum} 那如果沒有發生 overflow 時的 carry_out 應該如何顯示呢? 是否不用理它(顯示0或1都OK)? 我有在網路找過一些電路圖 譬如說 ripple carry adder 它就直接把最後一個的 full adder 的 c_out 當作 carry_out 可是當 3+(-1) 時 加法器做的其實是 a = 0011, b = 1111, c_in = 0 carry 1 1 1 1 a 0 0 1 1 b 1 1 1 1 +) c_in 0 ---------------------------- sum 0 0 1 0 也就是會使 carry_out = 1 這樣是正確的嗎? 還是應該讓它為 0 (因為計算結果2是正數) 感激不盡 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.114.123.122 ※ 編輯: DerekJeter 來自: 140.114.123.122 (04/30 23:24)
文章代碼(AID): #1868wnhy (Electronics)
文章代碼(AID): #1868wnhy (Electronics)