兆 百万 兆字节 百万位元组
这里的「兆」或「百万」指的是英文单词前缀「mega-」的翻译,因爲常用的数据单位「MB(megabyte)」在大陆通常被翻译爲「兆字节」,而在台湾则被翻译爲「百万位元组」。「MB」一般来说指的是1000000字节,爲什麽会有「兆」和「百万」两种不同的表示呢?这要从「兆」说起。
我们常说「个十百千万亿兆」,「个十百千万亿」没有任何歧义,而到「兆」就出问题了,因爲「兆」表示三种不同的数目∶
爲何会有这些不同的理解?其实这是古人给我们留下的遗产,南北朝《五经算术》书云∶ 按黄帝爲法,数有十等。及其用也,乃有三焉。十等者,谓「亿、兆、京、垓、秭、穰、沟、涧、正、载」也。
三等者,谓「上、中、下」也。
其
下数者,十十变之。若言十万曰亿,十亿曰兆,十兆曰京也。
中数者,万万变之。若言万万曰亿,万万亿曰兆,万万兆曰京也。
上数者,数穷则变。若言万万曰亿,亿亿曰兆、兆兆曰京也。
可见这种分歧古已有之,且千年未决。
按照「下数」的规定,「十万曰亿,十亿曰兆」,即一兆爲一百万(106);
按照「中数」的规定,「万万曰亿,万万亿曰兆」,即一兆爲一万万亿(1016);
按照「上数」的规定,「万万曰亿,亿亿曰兆、兆兆曰京」,即一兆爲一亿亿(1016)。
除了「上、中、下」数以外,还有一种万进系统。
清代《数理精蕴》规定∶ 十百爲千,十千爲万,万万爲亿,万亿爲兆,万兆爲京,万京爲垓
即万以下以十进位,万以上以万进位,一兆就是一万万(1012)。
将四种系统总结成下表∶
系统 | 亿 | 兆 | 京 | 垓 | 秭 | 穰 | 沟 | 涧 | 正 | 载 | 说明 |
---|---|---|---|---|---|---|---|---|---|---|---|
下数 | 105 | 106 | 107 | 108 | 109 | 1010 | 1011 | 1012 | 1013 | 1014 | 十十变之 |
万进 | 108 | 1012 | 1016 | 1020 | 1024 | 1028 | 1032 | 1036 | 1040 | 1044 | 逢万则变 |
中数 | 108 | 1016 | 1024 | 1032 | 1040 | 1048 | 1056 | 1064 | 1072 | 1080 | 万万变之 |
上数 | 108 | 1016 | 1032 | 1064 | 10128 | 10256 | 10512 | 101024 | 102048 | 104096 | 数穷则变 |
如今无论在中国大陆还是台湾,「万进」系统都成爲了惟一的标准系统,因此「一兆」就是「一万亿」,而且在新加坡、韩国及日本,「兆」也均表示「万亿」。在中国大陆的数学教科书中,「兆」的标准定义也是「万亿」。只有在中国大陆科技文献中,「兆」才会表示「百万」。此外,在越南语中,「兆(triệu)」也通常表示「百万」。
我强烈建议中国大陆科技文献中「兆」恢复「万亿」的意义,这不但统一了习惯,还与汉字文化圈内其他国家或地区接轨。尽管短期内恢复「兆」的意义是不现实的,我还是呼吁至少要在科技文献中避免使用「兆」,以免制造混乱。
有趣的是,这种混乱并不是中文特有的,相对的西文也有「long scale」和「short scale」两种不同进位系统的分别,如下表所示∶
Prefix | 10n | Short scale | Long scale |
---|---|---|---|
yotta | 1024 | Septillion | Quadrillion |
zetta | 1021 | Sextillion | Trilliard |
exa | 1018 | Quintillion | Trillion |
peta | 1015 | Quadrillion | Billiard |
tera | 1012 | Trillion | Billion |
giga | 109 | Billion | Milliard |
mega | 106 | Million | |
kilo | 103 | Thousand | |
hecto | 102 | Hundred | |
deca | 101 | Ten |
我们可以清楚地看到,在Million以下,两种进位系统是一致的,而在Million以上,出现了Milliard和Billion的分别。从Billion开始,同一个单位在两种系统中有了两种不同的表示。是不是和中文的「兆」很相似呢?
参考资料