趙煜 馬萌
摘要:從機器碼出發,介紹了原碼、反碼、補碼的定義以及三者之間的內在聯系,由于原碼在加減運算中的不足引入了補碼,為了方便求得補碼又引入了反碼,從而清晰地展示了三者編碼之間的聯系,使用VEE可視化語言實現了三者之間的轉化,通過2種方法介紹了負數原碼、反碼、補碼之間的程序設計過程,并且介紹了機器數之間的加減運算方法,以及具體運算過程,使用人工算法驗證了該程序設計的正確性。
關鍵詞:原碼;反碼;補碼;運算過程
中圖分類號:TP316文獻標志碼:A文章編號:1008-1739(2020)13-56-4

0引言
計算機能夠按照程序自動運算和快速處理大量數據,既可以進行數值計算,又可以進行邏輯計算,還有存儲記憶的功能,其中處理的大量數據包括加減乘除運算的數值型數據和不能進行運算的非數值型數據。為了達到方便、容易區分和存儲等要求,計算機內部使用二進制存儲數據。
計算機中需要原碼、補碼和反碼3種編碼,和計算機的硬件有關,二進制的加法,一個異或門就能實現,多位加法器的實現很容易,然而減法沒有找到直接的硬件,但是通過補碼能把減法轉換成加法來做,這樣一種硬件執行結構就可以實現加與減2種基本運算。這樣就出現了補碼,對補碼的求解過程,其中一個步驟就剛好形成了反碼,反碼是原碼轉換成補碼的過渡碼。
1原碼、反碼、補碼的基本概念
一個數在計算機中的二進制表示形式叫做這個數的機器數,機器數是帶符號的,計算機用機器數的最高位放符號位,正數為0,負數為1。……