short int 里边最小的、最大的数分别是多少。
理论:最小数的原码应该是 1111 1111 1111 1111
反码 1000 0000 0000 0000
补码 1000 0000 0000 0001 (最小的。)
最大数的原码应该是 0111 1111 1111 1111
反码 0111 1111 1111 1111
补码 0111 1111 1111 1111
实际: 所以最小的数的补码是1000 0000
根据补码原则,0000 0000表示0,而1000 0000却不能表示-0,所以根据原则可知,1000 0000表示的是-128。
所以在16位里边最小的数是1000 0000 0000 0000 即 1<<15 最小的数-1就是最大的数。
最大的数是0111 1111 1111 1111 即 (1<<15)-1
|
|