1樓:彭梓肇夢槐
當然是補碼。
形式了,雖然負數也有用原碼錶示的(就是最高位變成1)。但是你可以發現如果用原碼錶示負數有一問題當數值從0增加到127時,原碼從0~7f。但是一旦到了負數區域就從-0到-127,原碼從80~ff,當他們進行轉化的時候很不方便,而且又多了乙個-0出來。
顯然是不希望了。
於是就有了反碼,這個概念解決了正負數的對稱問題,也就是說將-0~-127變成了-127~-0,這樣的話就和0-127形成了很好的對稱結睜巨集構,只需要取反就可以得到相反數。
但是,還沒有解決-0的問題。
於是就有了補碼這個概念,他的定義是將反碼+1,剛好將-0給擠走了,增加了數值的值域。
來了乙個-128)。
計算機在運算的時候把所有的二進位。
全部當做無符號數來鉛蠢運算,並且負數全部採用補碼(這樣悉激冊的話-0和+0的衝突就沒了)。
2樓:做而論道
用組合語言程式設計,存檔之後,需要用「編譯軟體」進行編譯。
編譯軟體,具有跡公升智慧型。
你程式設計時,寫個-1,它就會幫你編譯成補碼:1111 1111。
這就是巖瞎說,程式設計時,數字,你可以寫正常的數字。
當然,你也可以寫補碼,比如-1,你寫 255 也行。
寫原碼形式?
你就不要姿棗老添亂了,編譯軟體,還沒有那麼高的智慧型。
計算機中,為什麼負整數用補碼錶示而不直接用原碼,例
3樓:狄文靜庫雅
因為乙個位元組是八位的。我們總是利用最高位表示符號位,正數的補碼是本身舉個例子,若正數0111,1111
按照你的意思,直接加1
不就變成10111,1111了嘛。
還有,補碼錶示負數是因為計算機中的加減運算,對負數都是通過補碼來運算的,通過補碼的加減,得到的補碼再反過來求出對應的負數,計算機中的計算只有0和1
不可能在數字前加正負號,所以負數必須用補碼。
c語言、是已知乙個負數的補碼然後求原碼
4樓:網友
【a】補=1111 1111 1111 1101,說明a是複數2^16-(a的補碼)得到的是-a,由於a為負數,-a則為正數【補碼的優點就是兩個相反數相加得到0,如-1:1111 1111 1111 1111; 1: 0000 0000 0000 0001,無非是有乙個進位而已,故用的2^16】
a=-[2^16-(a的補碼)] 得到數的真值【就是原來的大小,不包括符號位】
2^16 就是1 0000 0000 0000 0000,即上面所講的進位位。
5樓:春雨_潤物
對補碼求補就原碼。
故原碼:((2^16-1)-a+1)
其中2^16-1是二進位數:1111 1111 1111 1111減a後就是將a全部按位取反(包括最高位)
1後還得把最高位換為1(在計算機內部為換為1),咱們表示的時候就是取其負值,故前面加乙個『-』
組合語言原碼、反碼、補碼,還有真值問題
6樓:網友
1、乙個數的真值是這個數原本表示的大小。二進位真值,就是真值的二進位表示。
比如-2,二進位真值就是-10b。
2、是的。[x]補+[y]補=[x+y]補嘛。
3、正數的補碼就是它的原碼;
負數的話,將補碼減1再按位取反能計算出原碼。
補碼按位取反加1也能計算出原碼。
兩種方法計算出來的結果相同。
比如:8位情況下,-2的補碼是1111 1110,用第一種方法:
減一:1111 1110 - 1 = 1111 1101取反:10000010—— 2
用第二種方法:
取反:1000 0001
加一:1000 0010—— 2
7樓:網友
1)二進位真值就是乙個數的2進製表示;比如127的2進位真值就是1111111;
2)題目的意思是用補碼計算這幾個數;然後再把補碼轉換整原碼;
3)知道補碼求原碼 : 將補碼減1後然後按位取反就可以了;
比如10的2進位原碼是00001010;那麼補碼是11110110;將補碼減1後的到00000101;在按位取反得到1010
8樓:做而論道
用 8 位補碼完成下列運算,用二進位真值的格式給出運算結果。
1、二進位的真值是什麼?
就是把結果,寫成二進位格式。(其實,「真值」,是不可理解的黑話。不應該出現的)
2、是不是把數字都轉成補碼再進行加減,最後的結果也用補碼錶示?
對。
最後的結果,用二進位格式表示。3、知道乙個數的補碼,怎麼求出他的二進位原碼。
不用求原碼,你寫出結果的二進位即可。
例如:-100-(-120) =100 + 120 = 20[-100]補 =
-相加---
結果,十進位是:20。
其二進位格式,就是:1 0100。
9樓:爽爽
應該採用補碼,因為組合語言不包含負號,原碼的絕對值求反後加上乙個1的結果就是補碼。
組合語言程式設計,組合語言是一種什麼程式語言?
組合語言是用於電子計算機,微處理器,微控制器或其他可程式設計裝置的低階語言,e68a8462616964757a686964616f31333431366431也稱為符號語言。在組合語言中,助記符用於替換機器指令的操作碼,並且使用位址或運算元代替指令或運算元的位址。在不同的裝置中,組合語言對應於不同...
程式語言劃分為機器語言組合語言和高階語言三類,裡其中高階
所有的語言最後都是搞成機器語言再執行的,所以說這三模擬較速度其實意義不大。如果非要說的話,機器語言執行速度最快 運算速度指的是計算機每秒所能執行的指令條數 這裡一般指基本四則運算等基本的機器指令 執行速度指的是執行一條指令所用的平均所需時間 一般指彙編和高階語言中的指令 高階語言和彙編語音都是轉成機...
為何組合語言中要有INC DEC操作符,高階語言中的自加自減
彙編的指令是針對硬體的,是機器指令完全一致的,但只是只有幾個暫存器才有這個inc,dec 高階語言如c,自加自減,容易理解,但如果你定義的變數不是uchar型的,容易編譯出來的指令效率低。你可能是問 5是加 1也是加,為什麼要把 1或 1單獨提出了使用?在實際操作中資料 1或 1是經常使用的,比如控...