国产视频app轉錄一篇關于計算機中,源碼,反碼,以及補碼之間的轉換的文章。關于計算機底層的東西,我們更應該多多的熟悉和理解它們的工作原理!

国产视频app計算機中的符號數有三種表示方法,即原碼、反碼和補碼。三種表示方法均有符號位和數值位兩部分,符號位都是用0表示“正”,用1表示“負”,而數值位,三種表示方法各不相同。

在計算機系統中,數值一律用補碼來表示和存儲。原因在于,使用補碼,可以將符號位和數值域統一處理;同時,加法和減法也可以統一處理。此外,補碼與原碼相互轉換,其運算過程是相同的,不需要額外的硬件電路。

原碼、反碼和補碼的表示方法 

源碼:

原碼:在數值前直接加一符號位的表示法。 

例如: 

国产视频app          符號位  數值位 

[+7]原=   0    0000111  B 

国产视频app[-7]原=   1    0000111  B 

注意:

a.數0的原碼有兩種形式: 

[+0]原=00000000B    [-0]原=10000000B 

b. 8位二進制原碼的表示范圍:-127~+127 

反碼: 

正數:正數的反碼與原碼相同。 

国产视频app負數:負數的反碼,符號位為“1”,數值部分按位取反。 

例如

      符號位 數值位 

[+7]反=  0   0000111  B 

国产视频app[-7]反=  1   1111000  B 

注意:

a.數0的反碼也有兩種形式,即 

[+0]反=00000000B 

[- 0]反=11111111B 

国产视频appb. 8位二進制反碼的表示范圍:-127~+127 

補碼:

正數:正數的補碼和原碼相同。 

負數:負數的補碼則是符號位為“1”,數值部分按位取反后再在末位(最低位)加1。也就是“反碼+1”。 

国产视频app例如:       

国产视频app        符號位 數值位 

[+7]補=   0   0000111  B 

[-7]補=   1   1111001  B 

補碼在微型機中是一種重要的編碼形式,請注意: 

国产视频appa.采用補碼后,可以方便地將減法運算轉化成加法運算,運算過程得到簡化。正數的補碼即是它所表示的數的真值,而負數的補碼的數值部份卻不是它所表示的數的真值。采用補碼進行運算,所得結果仍為補碼。 

b.與原碼、反碼不同,數值0的補碼只有一個,即       [0]補=00000000B。 

国产视频appc.若字長為8位,則補碼所表示的范圍為-128~+127;進行補碼運算時,應注意所得結果不應超過補碼所能表示數的范圍。 

原碼、反碼和補碼之間的轉換 

由于正數的原碼、補碼、反碼表示方法均相同,不需轉換。 

国产视频app在此,僅以負數情況分析。 

国产视频app已知原碼,求補碼。 

例:已知某數X的原碼為10110100B,試求X的補碼和反碼。 

解:由[X]原=10110100B知,X為負數。求其反碼時,符號位不變,數值部分按位求反;求其補碼時,再在其反碼的末位加1。 

国产视频app1  0  1  1  0  1  0  0   原碼 

1  1  0  0  1  0  1  1   反碼,符號位不變,數值位取反 

国产视频app                     1   +1 

国产视频app1  1  0  0  1  1  0  0   補碼 

故:[X]補=11001100B,[X]反=11001011B。 

已知補碼,求原碼。 

国产视频app分析:按照求負數補碼的逆過程,數值部分應是最低位減1,然后取反。但是對二進制數來說,先減1后取反和先取反后加1得到的結果是一樣的,故仍可采用取反加1 有方法。 

例:已知某數X的補碼11101110B,試求其原碼。 

解:由[X]補=11101110B知,X為負數。求其原碼表示時,符號位不變,數值部分按位求反,再在末位加1。 

国产视频app1  1  1  0  1  1  1  0   補碼 

国产视频app1  0  0  1  0  0  0  1   符號位不變,數值位取反 

                   1   +1 

国产视频app1  0  0  1  0  0  1  0   原碼 

国产视频appPS:以上內容來自網絡,略做修改。如有錯誤請在下方留言里提出!