在计算机中,用0和1来存放数数据,假如2个字节,也就16bit ,假如是有符号的整型

问题描述:

在计算机中,用0和1来存放数数据,假如2个字节,也就16bit ,假如是有符号的整型
,除去最高位为符号位,留下的15位是数值位,那我在看正整数的时侯,看成是八个盒子,一个盒子只能装1或2,那么根据计数原理,应该 有2^15次的不同取法,得到数是32768,但是要是根据计算机0111111111111111最大数来算,得到却是32767,怎么少1呢,这个1到哪去了,我死想都想不明白,

.这个问题.你没算0,算上0就行了.
0111111111111111 刚好32768一个盒子入0或1, 1个盒子不是有两种放法吗, 要么放入1要么放0, 这样就有2^15的放法 ,怎么会少了正的32768呢0111111111111111首先这是个数字,而不是计数个数。这个是16位符号正整数所能表示的最大值。是值,明白吗?为什么让你加上0?因为0本身就是16位符号正整数所能表示的最小值。要算个数的话,你不算0能行吗?好比说1-100有100个数,而0-99也是100个数。计算机的计数就是这样的