的。首先。它确保了我们不会对不同的字母定义相同的码字。其次,通过这个表我们可以用尽可能短的码字来表示所有的字母,而避免产生编码长度上的浪费。
我们可以继续加长码字至5位或者更长,不过这可能超出页面打印边界。一串由5个“点”或“划”组成的编码串可以为我们提供32 $2 \times 2 \times 2 \times 2 \times 2$ ,或 $2 ^ { 5 } )$ 种扩展的码字。对干莫尔斯码中定义的10个数字和16个标点符号来说,通常这已经足够了,而实际上数字确实就是使用5位的莫尔斯码来表示的。但是在很多其他编码方式中,5位码字常用来表示重音字母而不是标点符号。
为了把所有的标点符号也都包含进去,编码系统必须要扩展到6位了!扩展后将为我们提供 $6 4 ( \ 2 \times 2 \times 2 \times 2 \times 2 \times 2 \times 2 \times 2 \times 2 \times 2 \times 2 \times 2 \times 2 \times 2 \times 2 \times 2 \times 2 \times 2 \times 2 \times 2 \times 2 \times 2 \times 2 \times 2 \times 2 \times 2 \times 2 \times 2 \times 2 \times 2 \times 2 \times 2$ ,即 $2 ^ { 6 }$ )种新增的码字,这样总共的码字就达到了$2 + 4 + 8 + 1 6 + 3 2 + 6 4$ ,也就是126种!这对莫尔斯码来说有点太多了,甚至还留下了很多“未定义”的码字。这里“未定义”用来表示那些不代表任何字符的码字。如果你在接收莫尔斯码的时候收到了一个未定义码字,可以肯定发送方一定是出了差错。
我们很容易就能得到这样一个小公式:
$$
5 1 7 \div 5 \cdots 5 5 5 5 5 = 2 \cdots 5 5 5
$$
利用它就可以继续计算出更长位数的点划序列所能表示的码字数目了。
幸运的是,我们并不需要写出所有可能的码字来计算码字的总数目。我们需要做的只是让2不断地与自己相乘。
2 编码与组合
11