int類型的存儲形式


原碼:計算機中一種對數字的二進制定點表示方法。原碼表示法在數值前面前面有一位符號位(即最高位為符號位),正數該位為0,負數該位為1(0有兩種表示:+0和-0),其余位表示數值的大小。

反碼:正數的反碼與其原碼相同;負數的反碼是對其原碼逐位取反,但符號位除外。

補碼:正數和+0的補碼是其原碼;負數則先計算其反碼,然后反碼加上1

int類型在內存中以補碼的形式存儲

EG:

一個C語言程序在一台32位機器上運行。程序中定義了三個變量,其中x和z是int型,y是short型。當x=127,y=-9時,執行賦值語句z=x+y后,xyz的值分別是?

在32位機器上int占4字節,故

x的原碼是00000000 00000000 00000000 01111111
y的原碼是10000000 00000000 00000000 00001001

x的反碼是00000000 00000000 00000000 01111111
y的反碼是11111111 11111111 11111111 11110110

x的補碼是00000000 00000000 00000000 01111111
y的補碼是11111111 11111111 11111111 11110111
(計算機中存的x y都是補碼)

所以z=x+y=00000000 00000000 00000000 01110110(即z的補碼是這串數,計算機中存的也是這串數)
因為正數的原碼反碼補碼相同,所以上串數也是z的原碼


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM