2019年8月

1个元器件称为1比特(Bit)或1位,8个元器件称为1字节(Byte),那么16个元器件就是2Byte,32个就是4Byte,以此类推:

  • 8×1024个元器件就是1024Byte,简写为1KB;
  • 8×1024×1024个元器件就是1024KB,简写为1MB;
  • 8×1024×1024×1024个元器件就是1024MB,简写为1GB。
    单位换算:
  • 1Byte = 8 Bit
  • 1KB = 1024Byte = 2^10Byte
  • 1MB = 1024KB = 2^20Byte
  • 1GB = 1024MB = 2^30Byte
  • 1TB = 1024GB = 2^40Byte
  • 1PB = 1024TB = 2^50Byte
  • 1EB = 1024PB = 2^60Byte

将二进制、八进制、十六进制转换为十进制

八进制转换成十进制

整数部分

例如:将53627转换成十进制:
$ 53627 = 5×8^4 + 3×8^3 + 6×8^2 + 2×8^1 + 7×8^0 = 22423 $(十进制)

小数部分

$ 423.5176 = 4×8^2 + 2×8^1 + 3×8^0 + 5×8^-1 + 1×8^-2 + 7×8^-3 + 6×8^-4 = 275.65576171875 $(十进制)

十六进制转换成十进制

整数部分

例如:将十六进制数字 9FA8C 转换成十进制:
$ 9FA8C = 9×16^4 + 15×16^3 + 10×16^2 + 8×16^1 + 12×16^0 = 653964 $(十进制)

二进制转换成十进制

整数部分

$ 11010 = 1×2^4 + 1×2^3 + 0×2^2 + 1×2^1 + 0×2^0 = 26 $(十进制)

小数部分

$ 1010.1101 = 1×2^3 + 0×2^2 + 1×2^1 + 0×2^0 + 1×2^-1 + 1×2^-2 + 0×2^-3 + 1×2^-4 = 10.8125 $(十进制)

将十进制转换为二进制、八进制、十六进制

整数部分

  • 十进制整数转换为 N 进制整数采用“除 N 取余,逆序排列”法。具体做法是:
  • 将 N 作为除数,用十进制整数除以 N,可以得到一个商和余数;
  • 保留余数,用商继续除以 N,又得到一个新的商和余数;
  • 仍然保留余数,用商继续除以 N,还会得到一个新的商和余数;
  • ……
  • 如此反复进行,每次都保留余数,用商接着除以 N,直到商为 0 时为止。

把先得到的余数作为 N 进制数的低位数字,后得到的余数作为 N 进制数的高位数字,依次排列起来,就得到了 N 进制数字。
如:十进制数字 36926 转换成八进制的结果为 110076;
如:十进制数字 42 转换成二进制的结果为 101010。

小数部分

  • 十进制小数转换成 N 进制小数采用“乘 N 取整,顺序排列”法。具体做法是:
  • 用 N 乘以十进制小数,可以得到一个积,这个积包含了整数部分和小数部分;
  • 将积的整数部分取出,再用 N 乘以余下的小数部分,又得到一个新的积;
  • 再将积的整数部分取出,继续用 N 乘以余下的小数部分;
  • ……
  • 如此反复进行,每次都取出整数部分,用 N 接着乘以小数部分,直到积中的小数部分为 0,或者达到所要求的精度为止。

把取出的整数部分按顺序排列起来,先取出的整数作为 N 进制小数的高位数字,后取出的整数作为低位数字,这样就得到了 N 进制小数。
如:十进制小数 0.930908203125 转换成八进制小数的结果为 0.7345;
如:十进制小数 0.6875 转换成二进制小数的结果为 0.1011。

注意:十进制小数转换成其他进制小数时,结果有可能是一个无限位的小数。请看下面的例子:

  • 十进制 0.51 对应的二进制为 0.100000101000111101011100001010001111010111...,是一个循环小数;
  • 十进制 0.72 对应的二进制为 0.1011100001010001111010111000010100011110...,是一个循环小数;
  • 十进制 0.625 对应的二进制为 0.101,是一个有限小数。