计算机组成 -- 二进制编码

  1. 原码表示法
    • 0011 为3, 1011 为-3
    • 缺点: 00001000 都表示为0
      • 浪费 + 模凌两可
  2. 由此诞生了 补码表示法 ,其实就是一个简单的 翻转 而已
    • 用补码表示负数,使得 整数的相加 变得容易,不需要做任何特殊处理,当成 普通的二进制相加 即可

字符串

  1. ASCII 码类似一个字典,用8位二进制中的128个不同的数字, 映射 到128个不同的字符里
    • a 在ASCII里面是第97个,二进制为 0110 0001 ,对应的十六进制为 0x61
    • 字符串 90011 1001 来表示,字符串 150011 00010011 0101 来表示, 占用更多的空间
    • 因此 存储数据 的时候,要采用 二进制序列化 的形式,
      • 而不是简单地把数据通过CSV或者JSON这样的 文本格式 存储来进行序列化
      • 不管是整点数,还是浮点数,采用 二进制序列化存储文本 能节省不少空间
  2. 字符集 (Charset)和 字符编码 (Character Encoding)
    • 字符集 :字符的集合
      • Unicode是字符集 ,包含150种语言的14万个字符
    • 字符编码 :对于字符集里的这些字符,怎么 用二进制表示 出来的一个 字典
      • Unicode可以用 UTF-8、UTF-16、UTF-32 来进行编码, 存储成二进制
      • 某段文本用编码A存储下来,另外一个程序用编码B进行解码和展示,就会出现 乱码
我来评几句
登录后评论

已发表评论数()

相关站点

+订阅
热门文章