原码、反码、补码以及进制转换和基本数据类型

 原码
 * 就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。
 * 通过一个字节,也就是8个二进制位表示+7和-7
 * 0(符号位) 0000111
 * 1(符号位) 0000111
 反码
 * 正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。
 补码
 * 正数的补码与其原码相同;负数的补码是在其反码的末位加1。

原码、反码、补码以及进制转换和基本数据类型

原码、反码、补码以及进制转换和基本数据类型

原码、反码、补码以及进制转换和基本数据类型

   整数型
  * byte 占一个字节  -128到127
  * short 占两个字  -2^15~2^15-1
  * int 占四个字节 -2^31~2^31-1
  * long 占八个字节 -2^63~2^63-1
 浮点型
  * float 占四个字节 -3.403E38~3.403E38  单精度
  * double 占八个字节-1.798E308~1.798E308 双精度
 字符型
  * char 占两个字节 0~65535
 布尔型
  * boolean  
   * boolean理论上是占八分之一个字节,因为一个开关就可以决定是true和false了,但是java中boolean类型没有明确指定他的大小