二進制補碼

二進制補碼

表示方法
計算機中的符号數有三種表示方法,即原碼、反碼和補碼。[1]三種表示方法均有符号位和數值位兩部分,符号位都是用0表示“正”,用1表示“負”,而數值位,三種表示方法各不相同。在計算機系統中,數值一律用補碼來表示和存儲。原因在于,使用補碼,可以将符号位和數值域統一處理;同時,加法和減法也可以統一處理。
    中文名:二進制補碼 外文名:two's complement representation 所屬學科: 類屬:數學算法 應用:計算機軟件

定義

在介紹補碼概念之前,先介紹一下“模”的概念:“模”是指一個計量系統的計數範圍,如過去計量糧食用的鬥、時鐘等。計算機也可以看成一個計量機器,因為計算機的字長是定長的,即存儲和處理的位數是有限的,因此它也有一個計量範圍,即都存在一個“模”。

性質

在補碼表示中,最高位(符号位)表示數的正負,在形式上與原碼相同,即0正1負。但補碼的符号位是數值的一部分,由補碼定義式計算而得。例如,負小數補碼中為1,這個1是真值(負)加模2後産生。

意義

補碼“模”概念的引入、負數補碼的實質、以及補碼和真值之間的關系所揭示的補碼符号位所具有的數學特征,無不體現了補碼在計算機中表示數值型數據的優勢,和原碼、反碼等相比可表現在如下方面:n

解決了符号的表示的問題;n

可以将減法運算轉化為補碼的加法運算來實現,克服了原碼加減法運算繁雜的弊端,可有效簡化運算器的設計;n

在計算機中,利用電子器件的特點實現補碼和真值、原碼之間的相互轉換,非常容易;n

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

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

相關詞條

相關搜索

其它詞條