日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

计算机中的补码和反码都是二进制吗,计算机中数值型数据二进制形式存储过程中的原码,反码与补码...

發布時間:2024/4/11 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 计算机中的补码和反码都是二进制吗,计算机中数值型数据二进制形式存储过程中的原码,反码与补码... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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

舉個例子快速掌握吧

給一個數求補碼

1、正整數的補碼是其二進制表示,與原碼相同

+9的補碼是00001001,二進制表示也是00001001,原碼:00001001

2、求負整數的補碼,將其對應的二進制表示除了符號位的所有位取反后加1

求-5的補碼。-5是負數,符號位是1,則對應-5的二進制表示也是原碼(10000101)符號位不變,其余位取反加1→(11111011)。所以-5的補碼是11111011。為,原碼(true form)是一種計算機中對數字的二進制定點表示方法。原碼表示法在數值前面增加了一位符號位(即最高位為符號位):正數該位為0,負數該位為1(0有兩種表示:+0和-0),其余位表示數值的大小。則-5的原碼即是其二進制表示。+11的原碼為00001011,-11的原碼就是10001011

補碼求原碼

已知一個數的補碼,求原碼的操作其實就是對該補碼再求補碼:

1如果補碼的符號位為“0”,其原碼就是補碼。

2如果補碼的符號位為“1”,符號位不變,其余位取反加1,那么求這個補碼的補碼就是要求的原碼。

e.g.已知一個補碼為11111001,則原碼是10000111(-7)。

因為符號位為“1”,表示是一個負數,所以該位不變,仍為“1”。

其余七位1111001取反后為0000110;(注:反碼的概念就是符號位不變,其余位取反就是反碼)

再加1,所以是10000111。

已知補碼求表示的數值

e.g.-65的補碼是10111111

若直接將10111111轉換成十進制,發現結果并不是-65,而是191。

事實上,在計算機內,如果是一個二進制數,其最左邊的位是1,則我們可以判定它為負數,并且是用補碼表示。

若要得到一個負二進制補碼的數值,只需求對應的二進制表示即可,即只需求原碼即可,只要對除符號位的其余位取反加1,就可算出其余位所表示的十進制數,將符號位變為負號-,加在這個十進制數前面即獲得此數。

如:二進制值:10111111(-65的補碼)

除符號位其余位取反:11000000

加1:11000001(-65)

+0與-0

首先正數的反碼補碼與原碼相同

+0的原碼:00000000

+0的反碼:00000000

+0的補碼:00000000

-0的原碼:10000000

-0的反碼:11111111(后面分析-0無反碼)

-0的補碼:00000000(補碼規定0沒有正負之分)

-128的原碼:10000000

-128的反碼:11111111

-128的補碼:10000000

-0與-128有相同的反碼,為減少歧義,-0沒有反碼。

綜上所述:1.-128的補碼和原碼一樣都是1000 0000,

2.0的原碼、反碼和補碼都一樣(即0000 0000)

3.如果把-0當做負數,1000 0000就會有歧義(事實上0的補碼只有一個0000 0000)

補碼的范圍是[-2^(n-1),2^(n-1)-1]

總結

以上是生活随笔為你收集整理的计算机中的补码和反码都是二进制吗,计算机中数值型数据二进制形式存储过程中的原码,反码与补码...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。