在我们的生活中,我们是以十进制表示的,十进制就是以10为进位,比如9+1=10;在计算机中所有的内容都是用二进制表示的,比如1+1=10,3=11 4=100 5=101 6=110 ;因为我们的计算机都是电频信号,电频信号只有高频和底频,也可以理解为通电和不通电,高频用1表示,低频用0表示,由于只有1和0;所以只能用二进制表示我们的数字!
十进制中的7用二进制表示111=2^2+2^1+2^0
现在又4个bit位,最大能表示多大的数字呢? 十进制中是9999 ,二进制是1111,二进制最小为0000
在java中无论是浮点数还是整数,他们都带有符合,以4个bit位为例,现在首位为符号位
1111-> -7 ; 0111-> +7
现在我们4个bit位能表示的范围为-7到+7了,我们称为原码
原码:
虽然原码很简单,但是计算机去运算的时候很复杂
比如1+(-1)=0001+1001,我们虽然知道很简单,但是计算机不知道,于是引入了反码
反码:
正数等于其本身,负数在首位不变的情况下,其余为取反,比如1111->1000
1+(-1)=0001+1110=1111=-0
0没有正负之分,于是引入了补码
补码:java中就是引入的补码:正数等于其本身,负数在首位不变的情况下,其余位取反,最后+1;这样就没有-0了;所以在java中4个bit位的范围为-8到+7;
这个很重要,搞懂了这个对以后的学习非常有帮助