二进制同十进制类似,也是一种计数方式,不过在二进制中最大的单位数字是 1(十进制中是 9),也就是说十进制中的 2 在二进制中就要写成 10 了。以此类推,例如 7 在二进制中就应该是 111。二进制是唯一能让计算机识别的信息。 然后再说 字节。字节是计算机的最小处理单元。一个字节占 8 位,也就是说在计算机中最小可以处理 8 位的二进制数。例如 01101011 这么一个数。 然后再说 Ascii,这全称叫“美国信息交换标准码”。因为计算机只能识别二进制数,为了让自然语言中的各个符号例如 abcd 0123 和标点符号之类的字符能让计算机处理,就必须建立这么一个标准码来翻译成计算机能识别的二进制数。刚才说了计算机的最小处理单元是 8 位的二进制数,因此这个标准码就占用了 8 位。而 8 位的二进制数能有多少个呢?你自己算一下,换成十进制是从 0 到 255。然而标准的 ascii 没有用满这 8 位,只用了 7 位(计算机处理起来仍然是按 8 位,但是实际起作用的只有 7 位),因为当时人们觉得已经足够了。于是重新算一下,7 位的二进制数换成十进制是从 0 到 127,于是 ascii 能翻译的人类语言的字符有 128 个。也就是说,128 个数每个数对应了一个人类语言中的符号。 后来,人们发现 128 个字符远远不够,例如制表符、数学符号啊里面都没有,于是就出现了 extended ascii,就是 “扩展 ascii”。这张表在 128 个数的基础上扩展到了 256 个,于是就占满了 8 位一字节。 再后来,信息全球化以后,人们又发现,256 个字符仍然不能表示全人类的语言,像汉字就有至少 20000 多个,于是进一步扩展了 ascii 字符表,这次扩展到了 2 个字节,也就是 16 位。那么再算一下 16 位长度的二进制数能有多少个?那是 65536 个。于是基本上够用了。这就是 Unicode 字符集 再之后还出现了各种基于 Unicode 的编码方式,比如 UTF-8,UTF-16,GBK,GB2312 这些。这些都是字符编码,简单说就是人们又建了各种其他的码表来和 Unicode 表对应起来。
例:无符号二进制110111转化成十进制数是?110111=1*2^0+1*2^1+1*2^2+0*2^3+1*2^4+1*2^5=1+2+4+0+16+32=55,由此55就是表示成110111的计算机编码。