在计算机中有符号数与无符号的整数存储都是以二进制的形式来存放的,但是对于无符号数来说没有什么原码、补码、以及反码一说,只有有符号数才会有这一概念!!无符号数只是以二进制码来存储的!!比如对于unsigned short int ux = 65535 ;在计算机中的二进制码是:1111 1111 1111 1111 (十六位)因此对于unsigned short int来说能够表示的最大的数就是:65535。同样的道理unsigned int以及unsigned long int 能够表示的最大的数就可以知道了呀!!!
然后在说说有符号数的表示是怎么回事。刚才说过有符号数是以二进制补码的形式在计算机中存储的,其中最高为表示的是符号位,比如:255 的二进制补码是:0000 0000 0000 0000 0000 0000 1111 1111
么去求一个正数的补码呢?正数的原码、反码以及补码都是一样的!那么-255的补码是多少呢?(也就是在计算机中是如何表示的呢?)求一个负数的补码先去求这个负数绝对值的原码,也就是255的原码:0000 0000 0000 0000 0000 0000 1111 1111 然后再取反:1111 1111 1111 1111 1111 1111 0000 0000 然后加一:
1111 1111 1111 1111 1111 1111 0000 0001