Yahoo奇摩知識+將於 2021 年 5 月 4 日 (美國東部時間) 終止服務。自 2021 年 4 月 20 日 (美國東部時間) 起,Yahoo奇摩知識+服務將會轉為唯讀模式。其他Yahoo奇摩產品與服務或您的Yahoo奇摩帳號都不會受影響。如需關於Yahoo奇摩知識+ 停止服務以及下載您個人資料的資訊,請參閱說明網頁。

計算機蓋論的 1補跟2補

請問 以 8bits 負數表示法使用 1's 2's補數 計算 1100111-1111100所得二進位為何

前面兩個數已經是2進位了 請問要怎麼算 我看別人解說的一補跟二補我都聽不懂

今天要段考了 我還是不會 幫幫我幫幫我!!!!

已更新項目:

使用 後面的 亂碼 是 1補跟 2補數

2 個已更新項目:

不對欸 考卷答案 兩個答案都是一樣的~

而且老師是教我們 1111100 先轉一次 變成 0000011

然後 跟前面相+ 變成

1100111

+ 0000011

_____________________

1101010

然後 再轉一次 變成 0010101 這是 1捕的

所以跟你講的好像不太一樣

雖然說考試考完了 但是還是想要知道有沒有偷減步的方法

因為我知道這要搞懂 不然後面會更慘

1 個解答

評分
  • Thomas
    Lv 6
    1 0 年前
    最佳解答

    1100111與 1111100 只有 7 bits

    你的意思是這兩個都是 8 bit 正數, 即 01100111, 01111100

    2009-11-13 17:35:21 補充:

    就當作你要做

    01100111 - 01111100

    減法, 則改為 加法, 減數(後面那個01111100,改取其1補數,或其2補數)

    @@@

    使用1補數方式

    01111100 的 1補數

    =10000011 (做 bitwise NOT)

    所以

    01100111 - 01111100

    =

    01100111

    +10000011

    ---------

    11101010

    驗證:

    01100111 = 十進位103

    01111100 = 十進位124

    01100111 - 01111100 = 十進位 -21

    又答案11101010,為負,

    負多少, 就是 負(11101010 的1補數), 就是負(00010101) 就是十進位負21

    @@@

    使用1補數方式

    01111100 的 2補數

    =10000100 (做 bitwise NOT後再加1)

    所以

    01100111 - 01111100

    =

    01100111

    +10000100

    ---------

    11101011

還有問題?馬上發問,尋求解答。