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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

关于补码的详解

發布時間:2025/3/15 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于补码的详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

怎么在計算機中表示負數?
正數在計算機中的表示,我們都比較清楚,轉為二進制,也知道如何表示。那負數在計算機上如何表示呢?
比如,8在計算機中的二進制表示是00001000。
那么比較很容易想到,可以將一個二進制位(bit)專門規定為符號位,它等于0時就表示正數,等于1時就表示負數。比如,在8位機中,規定每個字節的最高位為符號位。那么,+8就是00001000,而-8則是10001000。
但是,隨便找一本《計算機原理》,都會告訴你,實際上,計算機內部采用2的補碼(Two’s Complement)表示負數。
什么是2的補碼呢?
它是一種數值的轉換方法,要分兩步完成:
1、每一個二進制位都要取反,0變成1,1變成0.比如,00001000變成11110111。
2、將上一步得到的值加1,11110111就變成了11111000。
所以,00001000的2的補碼就是11111000,也就是說8的補碼在計算機中用11111000表示。

那么為什么非要用這種取反加一的方式表示負數呢,直接用最高符號位表示不更方便嗎?
現在就來解釋下這樣做的原因。
為什么用2的補碼表示負數?
首先,要明確一點,在計算機內部用什么表示負數,其實是無所謂的,只要你能夠保持一一對應的關系,就可以用任意的方式來表示負數。所以,既然可以任意選擇,那我們就要選擇一種最方便的方式。
2的補碼呢,就是最方便的方式,它的便利體現在,所有的加法運算都可以使用同一種電路來完成。
還是以-8來作為例子。
假定有兩種表示方法,一種就是最高符號位方法,即10001000。一種是2的補碼表示法,即11111000。請問哪一種方法在加法運算中更方便呢?
隨便寫一個計算式,16+(-8)=?
16的二進制表示是00010000,所以用最高符號位方法,加法就要寫成:
 00010000
+10001000
---------
 10011000
可以看到按照正常的加法規則,得到了10011000的結果,轉成十進制就是-24。顯然,這就是錯誤的答案。也就是說,在這種情況下,正常的加法規則不適用正數與負數的加法,因此必須要制定兩套運算規則,一套用于正數加正數,一種用于正數加負數。從電路上來說,就是必須要為加法運算做兩種電路。這…
現在,再來看2的補碼表示法:
 00010000
+11111000
---------
100001000
可以看到按照正常的加法規則,得到100001000的結果。注意一下,這是一個9位的二進制。因為我們已經假設這是一個8位機,因此最高的第9位是一個溢出位,會被自動舍去。所以結果就變成了00001000,轉成十進制就是8,也就是正確答案啦。這就說明2的補碼表示法可以將加法運算規則,擴展到整個數據集,從而一套電路就可以實現全部正數的加法,用一套規則舉行。

2的補碼的本質以及正確性

我們要看先一下模的概念“模”是指一個計量系統的計數范圍。如時鐘等。計算機也可以看成一個計量機器,它也有一個計量范圍,即都存在一個“模”。例如:時鐘的計量范圍是0~11,模=12。表示n位的計算機計量范圍是0~2n?10~2^{n-1}02n?1,模就是2n2^n2n。“模”實質上是計量器產生“溢出”的量,它的值在計量器上表示不出來,計量器上只能表示出模的余數。任何有模的計量器,均可化減法為加法運算。
  例如: 假設當前時針指向10點,而準確時間是6點,調整時間可有以下兩種撥法:你可以往回撥4個小時,也可以向前撥8個小時(12-10+6,在鐘表系統里模是12)在以12模的系統中,加8和減4效果是一樣的,因此凡是減4運算,都可以用加8來代替。
  對“模”而言,8和4互為補數。實際上以12模的系統中,11和1,10和2,9和3,7和5,6和6都有這個特性。共同的特點是兩者相加等于模。
  對于計算機,其概念和方法完全一樣。n位計算機,設n=8, 所能表示的最大數是11111111,若再加1稱為100000000(9位),但因只有8位,最高位1自然丟失。又回了00000000,所以8位二進制系統的模為2^8。 在這樣的系統中減法問題也可以化成加法問題,只需把減數用相應的補數表示就可以了。
再次重申一下這句話:
在以12模的系統中,加8和減4效果是一樣的,因此凡是減4運算,都可以用加8來代替。

所以對應模為100000000的8位機來說,-b 就等于加上10000 0000-b。
而(10000 0000-b)是什么?恰好就是b的補碼
補碼怎么求,“取反加一” 這口訣怎么來的?
承認了8 - 5 = 8 + (-5的補碼)這個事實后,我們來看-5的補碼怎么求,“取反加一”怎么來的
其實看完了上面的模的問題,該問題的答案基本已經出來了
-5的補碼是 10000 0000 - 5 = 1111 1111 + 1 -5 = (1111 1111 - 5) + 1
1111 1111 - 0000 0101 +1 =1111 1010 +1 =1111 1011
然后,用8+1111 1011,即0000 1000 + 1111 1011 =10000 0011,8位機,即0000 0011,轉為十進制就是3。也就是正確答案。
所以,2的補碼的本質就是模的計算,減去一個數,都可以用加上補數(模減去它)來算的。

總結

以上是生活随笔為你收集整理的关于补码的详解的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 久久久久久久久久国产精品 | 日本少妇电影 | 你懂的在线观看网址 | 欧美a一级片 | 中日韩免费毛片 | 欧美影院一区二区三区 | 欧美一区二区三区电影 | 国产精品久久久久野外 | a级片日本 | 欧美乱妇高清无乱码 | 狠狠躁日日躁夜夜躁2022麻豆 | 亚洲aⅴ乱码精品成人区 | 涩视频在线观看 | 污污视频在线观看网站 | 视频在线免费 | 中国丰满老妇xxxxx交性 | 日韩在线播放av | 久久亚洲美女 | 天天艹天天操 | 国产91精品欧美 | 成人午夜免费电影 | 1024日韩| 亚洲精品视频一区 | 91麻豆一区二区三区 | 久久在线一区二区 | 黄色小网站入口 | 假日游船法国满天星 | 99久久国产免费 | 女人性做爰100部免费 | 欧美成人精品一区二区综合免费 | 黄色一级视频免费观看 | 免费在线观看成人 | 天天宗合| 白丝女仆被免费网站 | 韩国一区二区在线观看 | 天天躁日日躁狠狠躁av | 丝袜老师扒开让我了一夜漫画 | 一本色道久久综合亚洲精品图片 | 亚洲精品一区二 | 91破处视频 | 国内精品国产三级国产aⅴ久 | 99视频99| 亚洲欧美精品 | 黄骗免费网站 | 天天舔天天射天天干 | 91久久伊人 | 天堂网视频在线 | 艳情五月| 日韩社区 | 女教师三上悠亚ssni-152 | 蜜臀av性久久久久蜜臀aⅴ | 第一色综合 | 国产精品91一区二区 | 海量av| 可以直接在线观看的av | 久久久888 | 日本αv | 高清国产一区二区 | 男女网站在线观看 | 情侣自拍av | 国产a国产 | 亚洲天堂毛片 | 欧美大尺度床戏做爰 | 五月丁香久久婷婷 | 午夜羞羞网站 | 男女偷爱性视频刺激 | 欧美最猛黑人xxxx | 天堂8在线视频 | 久久高清| 丁香花五月天 | 国产成人h | 日本美女性爱视频 | 九色精品在线 | 污污的网站在线免费观看 | 一区二区三区福利视频 | 午夜人体视频 | 在线观看91视频 | 亚洲图片视频小说 | 国产精品成av人在线视午夜片 | 亚洲情侣av| 黄色动漫在线观看 | 日韩精品卡通动漫网站 | 非洲黑寡妇性猛交视频 | 国产毛片毛片毛片 | 狼干综合 | 久久色资源网 | 精品国产无码在线观看 | 久久国产精品波多野结衣 | 亚洲一区二区动漫 | 久久久久久国产精品一区 | 国产一区二区三区免费在线观看 | 日韩中文字幕第一页 | 少妇xxx| 香蕉视频黄色在线观看 | 欧洲成人午夜精品无码区久久 | 日本视频中文字幕 | 日韩大片在线 | 国产网址| xzjzjzjzjzj欧美大片|