原碼、反碼、補碼原理解析

你是不是也對計算機數據表示方法一頭霧水,如果是的話就往下看,幫你捋清楚了

1、真值和機器數

真值就是數據實際的值
機器數就是這些數據在計算機中的表示
比如這個:+5就是真值,0101就是機器數
注意不加符號只有一串二進制代碼是無法區分真值和機器數的這裏是引用

2、定點數的表示與運算

如下圖所示:顧名思義,定點就是規定小數點的位置,包括定點整數和定點小數
在這裏插入圖片描述

3、原碼

3.1、原碼錶示

數值部分和真值的二進制數是一樣的,符號用0表示正,用1表示負,如下圖所示,十分簡潔明瞭
在這裏插入圖片描述
在這裏插入圖片描述

3.2、原碼加減

舉例:5-1計算
1、錯誤方法,直接原碼相加

錯誤原因:計算機不知道區分01符號位,在他眼裏這就是兩個0101+1001==5+9=14計算機只可以做正數相加減

在這裏插入圖片描述
2、正確方法:
在這裏插入圖片描述
減去一個數等於加上這個數的補碼,加上一個負數等於加上這個負數的補碼

4、補碼

4.1、補碼錶示

4.1.1、整數的補碼錶示

1、正數直接加上0
2、負數就用10000(n個0)-絕對值
在這裏插入圖片描述
小數
在這裏插入圖片描述

4.2運算規則

在這裏插入圖片描述

5、例子

在這裏插入圖片描述
解析:

1、寫出AB的補碼
2、補碼相加
3、最高爲捨去得到結果

5.1、原碼補碼轉換

符號位不變,末尾加一
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

原碼補碼轉換總結

1、正數原碼補碼相同
2、負數,符號位不變,然後數值位從右往左第一個1不變,其餘位取反得到結果

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章