回覆列表
  • 1 # 使用者4882566089773

    正整數的補碼是其二進位制表示,與原碼相同。負整數的補碼,將其原碼除符號位外的所有位取反(0變1,1變0,符號位為1不變)後加1。

    二進位制原碼的加運算為0+0=0,0+1=1,1+0=1,1+1=10,(逢2進1);減運算為1-1=0,1-0=1,0-0=0,0-1=1,(向高位借1當2)。即13-10 = 01101+11010=100011;-13-10=110011+11010=1101001。

    如果補碼的符號位為“0”,表示是一個正數,其原碼就是補碼。如果補碼的符號位為“1”,表示是一個負數,那麼求給定的這個補碼的補碼就是要求的原碼。

    即13-10去掉符號位前的多餘位數,00011=1*2^1+1*2^0=3;-13-10去掉符號位前的多餘位數,110011+11010=1101001=1010110+1=1010111=-(1*2^4+1*2^3+1*2^0)=-23。

    擴充套件資料:

    補碼錶示統一了符號位和數值位,使得符號位可以和數值位一起直接參與運算,這也為後面設計乘法器除法器等運算器件提供了極大的方便。

    補碼概念的引入和當時運算器設計的背景不無關係,從設計者角度,既要考慮表示的數的型別(小數、整數、實數和複數)、數值範圍和精確度,又要考慮資料儲存和處理所需要的硬體代價。因此,使用補碼來表示機器數並得到廣泛的應用,也就不難理解了。

  • 中秋節和大豐收的關聯?
  • 為什麼剛買的手機卡打不出去電話?各位兄弟姐妹,幫一下啊?