int 取值范圍


int 取值范圍

參考:

https://zhidao.baidu.com/question/16560454.html

https://blog.csdn.net/whizz21926/article/details/3125869?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.channel_param

原碼/反碼/補碼

原碼: 最高位為符號位(0表示正, 1表示負)

反碼: 對於一個帶符號的數來說, 正數的反碼與其原碼相同, 負數的反碼為其原碼除符號位以外的各位取反

補碼: 正數的補碼與其原碼相同, 負數的補碼為其反碼在最低為加1

計算機中采用補碼形式存儲數據, 0的補碼表示只有一種

int

C#int占4個字節, 32位

最大0111 1111 1111 1111 ... == 2^31 - 1

最小1111 1111 1111 1111 ... == - (2^31 - 1)

轉為補碼為1000 0000 0000 ... 0001, 但是補碼中會比原碼中多出一個編碼,

這個編碼就是1000 0000 0000 ... 0000,

因為任何一個原碼都不可能轉化為補碼時變為1000 0000 0000 ... 0000, 取反加1溢出

所以人們規定這個補碼就為- (2^31 - 1) - 1 == -2^31


免責聲明!

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



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