亚洲高清vr播放在线观看,欧美亚洲精品免费,欧美日韩天堂在线视频,午夜福利小视频

      學(xué)習啦 > 知識大全 > 知識百科 > 百科知識 > 八位二進制補碼最小值

      八位二進制補碼最小值

      時間: 鞏詩754 分享

      八位二進制補碼最小值

        好吧,小編雖然上個C++語言和VB語言基礎(chǔ),雖然那個愛笑的從國外留學(xué)回來的老師講課很好很精彩,但無奈小編跟不上呀。所以下面是學(xué)習啦小編給大家總結(jié)的八位二進制補碼最小值和二進制補碼知識點。

        八位二進制補碼最小值

        8位二進制補碼表示整數(shù)的最小值是 -128, 最大值是 +127.

        原因:正數(shù)的補碼就是其本身,8位二進制最大正整數(shù)是 0111111,也就是十進制值 127。

        負數(shù)的補碼是它原數(shù)的反碼加1,最小值,就是負得最多的數(shù),

        即二進制 1000 0000。十進制-128。

        推導(dǎo): -128 =(-1)+(-127) = 原碼 1000 0001+原碼 1111 1111 =

        補碼 1111 1111 + 補碼 1000 0001 = 補碼 1000 0000。

        什么是二進制的補碼?

        注明:正數(shù)的補碼與負數(shù)的補碼一致,負數(shù)的補碼符號位為1,這位1即是符號位也是數(shù)值位,然后加1

        補碼借鑒的模概念,雖然理解起來有點晦澀難懂??梢蕴^

        模的概念:把一個計量單位稱之為?;蚰?shù)。例如,時鐘是以12進制進行計數(shù)循環(huán)的,即以12為模。

        在時鐘上,時針加上(正撥)12的整數(shù)位或減去(反撥)12的整數(shù)位,時針的位置不變。14點鐘在舍去模12后,成為(下午)2點鐘(14=14-12=2)。從0點出發(fā)逆時針撥10格即減去10小時,也可看成從0點出發(fā)順時針撥2格(加上2小時),即2點(0-10=-10=-10+12=2)。因此,在模12的前提下,-10可映射為+2。由此可見,對于一個模數(shù)為12的循環(huán)系統(tǒng)來說,加2和減10的效果是一樣的;因此,在以12為模的系統(tǒng)中,凡是減10的運算都可以用加2來代替,這就把減法問題轉(zhuǎn)化成加法問題了(注:計算機的硬件結(jié)構(gòu)中只有加法器,所以大部分的運算都必須最終轉(zhuǎn)換為加法)。10和2對模12而言互為補數(shù)。同理,計算機的運算部件與寄存器都有一定字長的限制(假設(shè)字長為16),因此它的運算也是一種模運算。當計數(shù)器計滿16位也就是65536個數(shù)后會產(chǎn)生溢出,又從頭開始計數(shù)。產(chǎn)生溢出的量就是計數(shù)器的模,顯然,16位二進制數(shù),它的模數(shù)為2^16=65536。在計算中,兩個互補的數(shù)稱為“補碼”。比如一個有符號8位的數(shù)可以表示256個數(shù)據(jù),最大數(shù)是0 1 1 1 1 1 1 1(+127),最小數(shù)1 0 0 0 0 0 0 0 (-128);那么第255個數(shù)據(jù),加2和減254都是一樣的效果得出的結(jié)果是第一個數(shù)據(jù) ,所以2和254是一樣的效果。對于255來說2和254是互補的數(shù)。

        求一個正數(shù)對應(yīng)補碼是一種數(shù)值的轉(zhuǎn)換方法,要分二步完成:

        第一步,每一個二進制位都取相反值,即取得反碼;0變成1,1變成0。比如,00001000的反碼就是11110111。

        第二步,將上一步得到的反碼加1。11110111就變成11111000。所以,00001000的二進制補碼就是11111000。也就是說,-8在計算機(8位機)中就是用11111000表示。

        不知道你怎么看,反正我覺得很奇怪,為什么要采用這么麻煩的方式表示負數(shù),更直覺的方式難道不好嗎?

        二進制補碼的好處

        首先,要明確一點。計算機內(nèi)部用什么方式表示負數(shù),其實是無所謂的。只要能夠保持一一對應(yīng)的關(guān)系,就可以用任意方式表示負數(shù)。所以,既然可以任意選擇,那么理應(yīng)選擇一種用的爽直觀方便的方式。

        二進制的補碼就是最方便的方式。它的便利體現(xiàn)在,所有的加法運算可以使用同一種電路完成。

        還是以-8作為例子。假定有兩種表示方法。一種是直覺表示法,即10001000;另一種是2的補碼表示法,即11111000。請問哪一種表示法在加法運算中更方便?隨便寫一個計算式,16 + (-8) = ?16的二進制表示是 00010000,所以用直覺表示法,加法就要寫成:

        00010000

        +10001000原碼形式-8

        ---------

        10011000

        可以看到,如果按照正常的加法規(guī)則,就會得到10011000的結(jié)果,轉(zhuǎn)成十進制就是-24。顯然,這是錯誤的答案。也就是說,在這種情況下,正常的加法規(guī)則不適用于正數(shù)與負數(shù)的加法,因此必須制定兩套運算規(guī)則,一套用于正數(shù)加正數(shù),還有一套用于正數(shù)加負數(shù)。從電路上說,就是必須為加法運算做兩種電路。所以用原碼表示負數(shù)是不行的。

        現(xiàn)在,再來看二進制的補碼表示法。

        00010000

        +11111000補碼形式-8

        ---------

        100001000

        可以看到,按照正常的加法規(guī)則,得到的結(jié)果是100001000。注意,這是一個9位的二進制數(shù)。我們已經(jīng)假定這是一臺8位機,因此最高的第9位是一個溢出位,會被自動舍去。所以,結(jié)果就變成了00001000,轉(zhuǎn)成十進制正好是8,也就是16 + (-8) 的正確答案。這說明了,2的補碼表示法可以將加法運算規(guī)則,擴展到整個整數(shù)集,從而用一套電路就可以實現(xiàn)全部整數(shù)的加法。(特別說明,有部分素材來自博主JQ_AK47)

      1738263