Byte -128 to 127 (-27 to 27 - 1)
整数的表达:
原码:第一位为符号位(0为正数,1为负数)
反码:符号位不动,原码取反
负数补码:符号位不动,反码加1
正数补码:和原码相同
例如
5 源码是00000101,补码也是00000101。
-6 源码是10000110,反码也是11111001,补码也是11111010。
-1 源码是 10000001,反码也是11111110,补码也是11111111。
打印整数的二进制表示
int a=-6;
for(int i=0;i<32;i++){
int t=(a & 0x80000000>>>i)>>>(31-i);
System.out.print(t);
}
为什么使用补码呢?--因为这样处理0的问题更容易。在正负加减时候也方便。
Float的表示与定义
支持 IEEE 754
s eeeeeeee mmmmmmmmmmmmmmmmmmmmmmm
e全0 尾数附加位为0 否则尾数附加位为1
s*m*2^(e-127)
例如:-5