1、保存字符
计算机在创建之初,只能显示英文字母和特殊字符,后来慢慢才有了其他语言。但是打开网页或者编辑器却可能出现乱码。我们知道计算机只能保存0和1,那么如何把字符保存成二进制,以及如何把二进制解码成对应的字符就是先驱们所做的事情了。
我们学语言首先都会有一个字典,里面保存了所有相关的字符,我们把字符的集合叫做字符集,例如 unicode字符集。而把字符集中的每个字符保存为二进制,及如何把一连串的二进制解码成对应的字符叫做字符编码,例如 utf-8编码。
而我们打开编辑器或者网页出现乱码,就是因为保存字符用的字符编码与把保存好的二进制进行解码使用的字符编码不一致导致的。
2、保存数字
整数在计算机中可以使用原码,反码或者补码来保存。源码保存整数很简单,例如以四个字节来保存整数,5 对应原码为 00000000 00000000 00000000 00000101, -5对应的源码则为 10000000 00000000 00000000 00000101(最高位为1)
反码和补码是针对原码而言,它的规则如下:
正数的反码,补码都与源码一致,这是规则。
负数的反码,在源码的基础上,符号位不变,其它位取反
负数的补码,在反码的基础上,有效位+1
较为复杂的是浮点数的保存,例如32位单精度浮点数保存格式如下: