1字節(jié)的表示范圍為什么是-128到127

一:CPU運算器中,只有加法器

CPU運算器里面,只有加法器,加法器電路相對于減法器來說要簡單很多,成本就少很多,受硬件資源限制,主要是為了精簡硬件.

從數(shù)學角度塘淑,減法是可以轉(zhuǎn)換成加法運算的洲愤。乘法同樣可以轉(zhuǎn)換成加法運算玄窝,除法可以轉(zhuǎn)換成乘法運算奕塑,所以一切的運算都可以以加法運算為基礎牵舵,所以CPU只會做加法也沒有問題柒啤。

二:如何將減法轉(zhuǎn)換成加法運算

1.糾正一個誤區(qū)
舉個例子 ,3減2 和 3加(-2)
比如我要做減法,3減2,將減法轉(zhuǎn)換成加法,很容易想到,3加(-2),這不是將減法轉(zhuǎn)換成加法運算,細想一下,我們在做3加(-2)的時候,還是將3加(-2)轉(zhuǎn)化成了3減2來計算,所以3加(-2)本質(zhì)還是在做減法.

2.那么如何將減法轉(zhuǎn)換成加法運算呢?

時鐘.PNG

將減法轉(zhuǎn)換成加法運算首先了解模的概念:
“模”是指一個計量系統(tǒng)的計數(shù)范圍.
時鐘的計量范圍是12,模=12

當前時鐘,指向3點, 要想調(diào)整時鐘到1點,有兩種方法:
(1)倒撥2小時,即 3-2 = 1 點
(2)順撥10小時, 即 3+10 = 12(溢出) + 1 = 1 點

在以12模的系統(tǒng)中,減2和加10,效果都一樣,因此凡是減2的運算,都可以用加10來替代,我們稱 -2和 10互為補數(shù)
一個負數(shù)可用它的正補數(shù)來代替畸颅,而這個正補數(shù)可以用模加上負數(shù)本身來得到担巩。
所以將減法運算(加負數(shù)),轉(zhuǎn)換成加法運算,是加負數(shù)的補數(shù).
正數(shù)的補數(shù)為其自身,(加正數(shù),是在做加法,不需要轉(zhuǎn)換.)
計算機只有加法器,將減法轉(zhuǎn)成加法運算的道理與此相同

3333.PNG

三.十進制VS二進制

在計算機中,由邏輯電路組成,邏輯電路通常只有兩個狀態(tài)没炒,開關(guān)的接通與斷開涛癌,這兩種狀態(tài)正好可用“1”和“0”表示,所以計算機使用二進制進行運算.所以在理解計算機將減法轉(zhuǎn)換成加法運算之前,還要了解一下二進制.

十進制: 逢十進一,只有0-9共十個符號,個位數(shù)最大為9,需要表示十這個數(shù)量時,就要從個位跳到高位的地方記1,同時個位補上0
0,1,2,3,4,5,6,7,8,9,10(十)

二進制: 逢二進一,只有0,1兩個符號,個位數(shù)最大為1,需要表示二這個數(shù)量的時候,就要從各位調(diào)到高位的地方記1,同時個位補上0
0,1,10(二),11(三)

322.PNG

從圖中可以看到,一個8位二進制數(shù),普通正常編碼,可以表示的數(shù)為 -127~127,其中還有0和-0

而在計算機中1個字節(jié)(8位)表示的范圍是-128到127,根本沒有0和-0的概念,那么-0哪里去了? -128又是哪里來的,1個8位的二進制數(shù)根本無法表示-128,最小的數(shù)是-127,而計算機中1個字節(jié)確可以取值-128.

顯然計算機雖然使用的是二進制運算,但并不是采用普通正常二進制進行編碼.

四:計算機減法轉(zhuǎn)加法運算:

計算機將減法轉(zhuǎn)成加法運算,和時鐘加補數(shù)的道理一樣,就是加負數(shù)的補碼的形式.
如圖詳述:


666.PNG

如圖所示得出結(jié)論:
補碼解決的問題:
1.減法運算轉(zhuǎn)換成加法運算(通過負數(shù)轉(zhuǎn)成補碼再做加法運算,正數(shù)的補碼是本身,整數(shù)就是做加法,不需要轉(zhuǎn)換)
2.符號位參與運算(負數(shù)的補碼是負數(shù))
3.0和-0的問題(下面介紹)

所以求補碼的方法:
1:正數(shù):與原碼相同。
2:負數(shù):求負的補碼送火,求負整數(shù)的補碼拳话,將其原碼除符號位外的所有位取反后加1,符號位為1不變

擴展:-128的補碼是誰?
8位二進制數(shù)沒法表示-128,所以沒法算-128的補碼?
求補碼的方法是根據(jù)模的概念推到出來的,本質(zhì)還是減法轉(zhuǎn)加法的模的理念,
回溯一下模的概念.
模為12的鐘表, 減2 和 加10 一樣, 減3 和 加9一樣, 那么減12呢? 和加0一樣.所以-12的補數(shù)是0

同理:
補碼解決了符號位參與運算的問題,補碼都是負數(shù).
8位二進制數(shù),模為128
-1 的 補碼 -127
-2 的補碼 -126
-127的補碼 -1
-128的補碼 -0

五:0和-0

如果計算機采用普通正常二進制進行編碼,然后在運算的時候,轉(zhuǎn)換成補碼運算,原碼就會0和-0
0的補碼是0,而-0的補碼是-128, 在一個8位的二進制數(shù),-128無法表示,最小數(shù)是-127,然而做減法的運算,是將負數(shù)轉(zhuǎn)成補碼,加補碼的形式運算,是補碼在參與運算.而不是原碼 , -0的補碼是負128, -128沒辦法表示,沒辦法參與運算,那么-0就沒有意義了,就浪費了.

浪費.PNG

計算機參減法操作,實際是通過加補碼的形式
如果直接采用補碼對數(shù)字進行編碼,那么所有的減法運算,就是加補碼的運算了,運算時就無需轉(zhuǎn)成補碼了.

-128.PNG
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市种吸,隨后出現(xiàn)的幾起案子弃衍,更是在濱河造成了極大的恐慌,老刑警劉巖坚俗,帶你破解...
    沈念sama閱讀 217,084評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件镜盯,死亡現(xiàn)場離奇詭異,居然都是意外死亡猖败,警方通過查閱死者的電腦和手機速缆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,623評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來恩闻,“玉大人艺糜,你說我怎么就攤上這事。” “怎么了倦踢?”我有些...
    開封第一講書人閱讀 163,450評論 0 353
  • 文/不壞的土叔 我叫張陵送滞,是天一觀的道長。 經(jīng)常有香客問我辱挥,道長犁嗅,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,322評論 1 293
  • 正文 為了忘掉前任晤碘,我火速辦了婚禮褂微,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘园爷。我一直安慰自己宠蚂,他們只是感情好,可當我...
    茶點故事閱讀 67,370評論 6 390
  • 文/花漫 我一把揭開白布童社。 她就那樣靜靜地躺著求厕,像睡著了一般。 火紅的嫁衣襯著肌膚如雪扰楼。 梳的紋絲不亂的頭發(fā)上呀癣,一...
    開封第一講書人閱讀 51,274評論 1 300
  • 那天,我揣著相機與錄音弦赖,去河邊找鬼项栏。 笑死,一個胖子當著我的面吹牛蹬竖,可吹牛的內(nèi)容都是我干的沼沈。 我是一名探鬼主播,決...
    沈念sama閱讀 40,126評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼币厕,長吁一口氣:“原來是場噩夢啊……” “哼列另!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起旦装,我...
    開封第一講書人閱讀 38,980評論 0 275
  • 序言:老撾萬榮一對情侶失蹤访递,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后同辣,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,414評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡惭载,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,599評論 3 334
  • 正文 我和宋清朗相戀三年旱函,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片描滔。...
    茶點故事閱讀 39,773評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡棒妨,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情券腔,我是刑警寧澤伏穆,帶...
    沈念sama閱讀 35,470評論 5 344
  • 正文 年R本政府宣布,位于F島的核電站纷纫,受9級特大地震影響枕扫,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜辱魁,卻給世界環(huán)境...
    茶點故事閱讀 41,080評論 3 327
  • 文/蒙蒙 一烟瞧、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧染簇,春花似錦参滴、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,713評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至青灼,卻和暖如春暴心,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背聚至。 一陣腳步聲響...
    開封第一講書人閱讀 32,852評論 1 269
  • 我被黑心中介騙來泰國打工酷勺, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人扳躬。 一個月前我還...
    沈念sama閱讀 47,865評論 2 370
  • 正文 我出身青樓脆诉,卻偏偏與公主長得像,于是被迫代替她去往敵國和親贷币。 傳聞我的和親對象是個殘疾皇子击胜,可洞房花燭夜當晚...
    茶點故事閱讀 44,689評論 2 354