int类型在计算机中的储存(原码、补码、反码)
生活随笔
收集整理的這篇文章主要介紹了
int类型在计算机中的储存(原码、补码、反码)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
int類型在計(jì)算機(jī)中的儲(chǔ)存
說(shuō)起,int類型在計(jì)算機(jī)中的儲(chǔ)存,首先要解釋的就是原碼、補(bǔ)碼、反碼這三個(gè)概念了。因?yàn)橛?jì)算機(jī)內(nèi)部?jī)?chǔ)存的都是補(bǔ)碼。原碼
對(duì)于int類型來(lái)說(shuō),這里我們按照常見(jiàn)的四個(gè)字節(jié)講解,四個(gè)字節(jié)32個(gè)bit。第一位是符號(hào)位,0代表正數(shù),1代表負(fù)數(shù)。所以int類型最大的整數(shù),為
0 1 1 1 | 1 1 1 1 | 1 1 1 1 | 1 1 1 1 | 1 1 1 1 | 1 1 1 1 | 1 1 1 1 | 1 1 1 1 也就是2 ^ 31 - 1 = 2147483647。
最小同理值就是 - 2147483648。
反碼
正數(shù)的反碼,就是起原碼。負(fù)數(shù)的源碼,是除了符號(hào)位之外,按位取反。0變1,1變0。
補(bǔ)碼
正數(shù)的補(bǔ)碼也是反碼,但是負(fù)數(shù)的補(bǔ)碼就是反碼加一。
舉例
-559039827對(duì)應(yīng)的
- 原碼
1 0 1 0 | 0 0 0 1 | 0 1 0 1 | 0 0 1 0 | 0 1 0 0 | 0 1 0 1 | 0 1 0 1 | 0 0 1 1 - 補(bǔ)碼
1 1 0 1 | 1 1 1 0 | 1 0 1 0 | 1 1 0 1 | 1 0 1 1 | 1 0 1 0 | 1 0 1 0 | 1 1 0 0 - 補(bǔ)碼
1 1 0 1 | 1 1 1 0 | 1 0 1 0 | 1 1 0 1 | 1 0 1 1 | 1 0 1 0 | 1 0 1 0 | 1 1 0 1
有時(shí)我們會(huì)寫(xiě)為
0xDEADBAAD
顯示的小序端儲(chǔ)存,如下’\xad\xba\xad\xde’
總結(jié)
以上是生活随笔為你收集整理的int类型在计算机中的储存(原码、补码、反码)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: [BUUCTF-pwn]——[BJDCT
- 下一篇: [BUUCTF-pwn]——picoct