一、原码、反码和补码

1. 原码: 就是符号位加上二进制的表示

2. 反码: 在原码的基础上,符合位不变,其余取反

3. 补码: 就是在反码的基础上加一,整数的补码就是原码本身

image.png

4. 使用补码作为计算机实际存储方式的好处
  • 统一数字0 的表示

+0 的原码:0000,0000 0000,0000 0000,0000 0000,0000
-0 的原码:1000,0000 0000,0000 0000,0000 0000,0000
-0的反码: 1111,1111 1111,1111 1111,1111 1111,1111
-0的补码: 0000,0000 0000,0000 0000,0000 0000,0000

  • 简化整数的加减法计算,将减法以加法形式计算

如: -6+5 (单字节)
-6 补码: 1111,1010
5补码:0000,0101
直接相加: 1111,1111 (等于-1)

单字节-1,原码为1000 0001,反码为1111 1110,补码为1111 1111

二、浮点数在Java虚拟机中的表示

  1. 图示

image.png

三、字(Word)、字节(Byte)和比特(Bit)

  • 位、比特(bit) : 比特简称二进制数字,位是计算机内部数据储存的最小单位,并且它的取值只能是0 或者1
  • byte 或 Byte: 简称 B 二进制的一种计量单位,1字节=8位
  • word 或 Word : 计算机处理事务(寻址、运算等)的单位 通常由若干个字节组成

image.png

四、内存单位换算

  • 1 Byte(B) = 8 bit
  • 1 Kilo Byte(KB) = 1024B
  • 1 Mega Byte(MB) = 1024 KB
  • 1 Giga Byte (GB)= 1024 MB
  • 1 Tera Byte(TB)= 1024 GB
  • 1 Peta Byte(PB) = 1024 TB
  • 1 Exa Byte(EB) = 1024 PB
  • 1 Zetta Byte(ZB) = 1024 EB
  • 1Yotta Byte(YB)= 1024 ZB
  • 1 Bronto Byte(BB) = 1024 YB
  • 1Nona Byte(NB)=1024 BB
  • 1 Dogga Byte(DB)=1024 NB
  • 1 Corydon Byte(CB)=1024DB

参考