回覆列表
  • 1 # 使用者5283812756190

    首先,注意到,計算機運算的物件只能是二進位制,它並不區分正負數,或者說它總是把二進位制看作正數。所以我們總是要先把整數表示成二進位制,計算機才可以進行運算。

    既然計算機它總是把二進位制看作正數,那麼我們如何表示負數?

    答案就是,我們自己規定了一套規則把負數轉化成二進位制。這個規則就是,使用一個數的補碼錶示這個數的負數。

    補碼:如果兩個二進位制的和是2^w,則我們稱之為互為補碼。(w是整數的二進位制位數)

    因為這樣的規定,減法運算實際上變成了取補運算。

    下面是證明:

    那麼為什麼,要這麼規定呢?因為這麼規定是可以得到正確的結果的,這他媽不是廢話嗎,別急,下面我們來看看到底怎麼得到正確結果的。

    假設一個數x,它的負數是y,我們只要能證明,透過使用補碼能計算得到x + y = 0,那麼我們就證明了補碼運算的正確。

    證明:

    因為,根據規定,負數的二進位制就是正數的補碼,

    所以可以得到y = 2^w - x。

    那麼,x + y = x + 2^w - x = 2^w。(結果並不是0啊,別急接著往下證明)

    又因為,w位的二進位制,2^w是表示不了的,因為它是w+1位的二進位制,1後面跟w個0,這種情況下計算機會捨棄最高位,只保留低w位,2^w的低w位就是0。

    所以,x + y = 0。

    綜上,補碼正確性得到證明。

  • 中秋節和大豐收的關聯?
  • 亂馬是什麼動漫人物?