restkhz
2025 年 4 月 17 日
或许你可以参考 Luhn 算法,身份证校验算法之类的,搞个 mod12 。
还有如果你能加一位号码(考虑到还有星号井号),能多携带\log_2 12 大概 3.6bits 的信息。所以你能做的远超过只是加一个奇偶校验 bit 。从信息论角度,理想情况下最好可以做到 100%-2^(3.6)%,就是多一 bit 能校验一半信息,大概 91.7%的查错率。
这大概是一个历史路径依赖的问题,一开始是和接线员说你找哪里的谁谁谁就好,后来开始用了自动交换机后才开始用号码。
我在博物馆看过那个巨大的貌似叫步进电话交换机的玩意儿,那个时代没有芯片。你拨一个数字,后面那个巨大的机器里面就咔嚓咔嚓地转。
仅仅只是打个电话自动接线就已经非常不容易了...要是让它搞个内存,存你拨的号然后再跑校验算法就太难为他了。
后来电话交换机也数字化了,能玩校验算法了。但是电话号码早就开始全球化了...这个时候就不好升级了。
或许我们对芯片的存在习以为常了