一个byte有8个bit,**为了表示负数**,the first 代表*符号位*,0正1负.于是2的8次被拆成2*2的7次,而0被分为+-0.然而0没有+-.
为了解决这一问题,**引入反码补码来表示负数**.一个负数**原码符号位不变,其余取反得到反码,反码+1得到补码**,-0用来表示相应位数下最小的负数-1.如7位最小为-(2的7次-1)-1,也即-2的7次,所以能表示的范围是-(2的7次)~2的7次-1.
如果在类型前加***unsigned*修饰,表示无符**号,首位也就不再是符号位,表示范围是0~2的8次-1.