第一部分 量化的力与美
第一章 亿亿万万
有些人……认为沙粒的总数是无穷大的……也有人不作如是想,但也认为,目前还没有一个大到可以计量这总数的数字……而我要尝试给你们看些数字,它们不但可以计量把整个地球都装满的沙粒总数,还能计量把整个宇宙都装满的沙粒总数。
阿基米德(Archimedes)
《数沙者》(The Sand-Reckoner)
始作俑者约翰尼·卡森[1]
老实说,我从未说过“亿亿万万”(billions and billions)。噢,我只说过可能有1000亿(100 billion)个星系及100亿兆(10 billion trillion)颗恒星。谈起宇宙,很难不用很大的数字。在广受大众喜爱的收视率很高的电视系列节目《宇宙》(Cosmos)中,我是说了很多次“10亿”(billion)。可是我从未说过“亿亿万万”。我不说的原因之一是:这字眼太不精确了。“亿亿万万”中有多少个“亿”?数十亿?200亿?1000亿?“亿亿万万”太笼统了。后来我们重新整理这档节目,加入更新材料时,我再三核验过——真的,我从未说过。
可是约翰尼·卡森(Johnny Carson)说过,在他主持的《今夜秀》(Tonight Show)中说的,我前前后后上过30来次节目。他穿着一件灯芯绒上衣,一件翻领套头衫,戴一顶好像是粗棉絮拖把做的假发。他这种粗略的模仿,看上去就像是我的一种分身。他以这副样子出现在深夜的电视荧幕上,不时地念叨“亿亿万万”。每次他以这种装扮主持《今夜秀》的第二天,我的同事都会来向我报告。起初,我对这种针对我个人的搞笑伪装有些反感(尽管是这副打扮,约翰尼·卡森——一位相当认真的业余天文爱好者——在模仿我的时候也讲真科学)。
《今夜秀》拍摄现场的卡尔·萨根(左)与约翰尼·卡森(摄于1980年5月30日)
令人惊讶的是,“亿亿万万”这个词居然流行了起来。人们喜欢它的声调和意思。一直到最近,无论是在大街上、飞机上,甚至在社交晚会中,常常有人把我叫住,并用有点不好意思的神情轻声地问我,能不能说一遍“亿亿万万”给他们听——只说给他们听。
“你知道,其实我并没有说过。”我告诉他们。
“不要紧,”他们回答,“就说说吧。”
有人告诉我,福尔摩斯从未说过“我亲爱的华生,这太简单了”。(至少在亚瑟·柯南·道尔的原著中没有说过)[2]著名反派电影明星詹姆斯·卡格尼(James Cagney)从未说过“你这只肮脏的老鼠”。[3]大明星亨弗莱·鲍嘉(Humphrey Bogart)也从未说过“山姆,再弹一次吧”。[4]可是,他们不如就承认说过算了,因为这些伪语已经在不知不觉中深深地嵌入当下流行的文化中了,弄得大家真假不辨。
一些计算机杂志还不断提到,我说过这个愚蠢的词语(譬如:有杂志写过,“卡尔·萨根会在这种场合下说,要用到‘亿亿万万’个字节。”)报上关于经济的报道,或讨论职业运动员的薪金,或其他类似的情形下,也不断地引用这个词语。有一阵子,我的反应是一种孩子气的愠怒,我绝不说或写出这个词语。即使有人请我说我也不说。可是,现在我已经不在乎了。因此,作为我说过的证明,你们仔细听着:
“亿亿万万。”
大数进化:从百万、十亿到千亿
为什么“亿亿万万”会如此流行?以前,英语中用“百万”(million)来形容一个很大的数字。极富有的人被称为百万富翁(millionaires)。在耶稣基督的年代,全世界的人口只有2.5亿(250 million)。1787年,美国开立宪大会的时候,全美人口有近400万(4 million)人。第二次世界大战开始时,美国人口则有1.32亿(132 million)人。地球到太阳的距离是1.5亿(150 million)千米。第一次世界大战的死亡人数约4000万(40 million)人,第二次世界大战的死亡人数约6000万(60 million)人。一年最多有3170万(31.7 million)秒。20世纪80年代末,全球核武器的爆炸威力可以毁灭100万(1 million)个广岛大小的城市。很长的一段时间,任何要用到大数的场合,“百万”都是足够大的数字。
可是,时代不同了。现在世界上有一大堆的十亿富翁(billionaires)——这不全然是通货膨胀之故。科学家们估算出地球的年龄为46亿(4.6 billion)年。全球的总人口正冲向60亿(6 billion)[5]。在你的两个生日之间,地球又绕了太阳一圈——10亿(1 billion)千米(地球绕太阳运行的速度比旅行者号[6]离开地球的速度要快很多)。4架B-2轰炸机(最新式的隐形轰炸机)的总价是10亿(1 billion,也有人说需要20亿,甚至是40亿)美元。如果把所有隐藏在其他预算中的国防金额都算上,美国每年的国防总预算将超过3000亿(300 billion)美元。万一美国和俄罗斯真的打起核战,直接死亡的总人数将达到10亿(1 billion)人。而10亿(1 billion)个原子接排起来,总长只有10厘米左右。当然,还有数十亿(billions)的恒星和星系遍布于宇宙中。
1980年,当《宇宙》播出时,人们的心理已经准备好接受“十亿”这个词了。说“百万”已稍嫌寒酸、老式,好像很吝啬似的。实际上,这两个词的英文发音几乎一样,很容易混淆,要仔细听才能分辨出来[7]。因此,当我出演《宇宙》时,在发“十亿”的音时,我特别强调了“b”这个破裂音。有些人听了节目中的发音,还以为我有发音上的缺陷,或是我个人特别的腔调。可是,若不强调“b”这个音又不想引起误会,那就要用电视播音员的说法:“这是b开头的‘十亿’。”这听上去多拗口。
有一则流传很久的老笑话。在一个星象馆中,一位讲解天文的先生告诉听众说,再过50亿年,太阳会膨胀成一颗巨大的红巨星,吞噬水星及金星,甚至可能把地球也吞进它的大气中。先生讲完后,一名很焦急的听众拖住他问道:
“对不起,博士,你是说太阳在50亿年后会烧毁地球?”
“是的,大概就是这数字前后。”
“真要感谢上帝,有一阵子我还以为你说的是500万年呢!”
其实,不管是50亿年或是500万年,对我们个人的生命来说,都毫无意义,我们最感兴趣的还是地球的最终命运。可是“百万”和“十亿”间的区别,对国家的财经预算、世界人口、核武器伤亡人数等议题是“性命攸关”的。
尽管“亿亿万万”还是很流行,可是它代表的数目已经开始给人一种小家子气、视野窄、快过时的感觉。一个更时髦的数字已经出现在地平线上静候我们了,也许很快就要流行起来——那就是“万亿”(trillion)。
目前,全球军备每年开销几近1万亿美元。所有发展中国家向西方银行贷款的总负债额正接近2万亿美元(1970年时,只有600亿)。美国联邦政府的年总预算也正逐步逼近2万亿美元。美国的国债是5万亿美元。在里根总统年代提出的,技术可行性很成问题的“星球大战”[8]计划的估价1万亿~2万亿美元。地球上所有植物的总重量约为1万亿吨。恒星和“万亿”之间有某种天然的密切关系:我们的太阳系到最近的恒星系统——半人马座α星(Alpha Centauri)的距离约为40万亿千米。
1后面跟了多少个0
在美国的日常生活中,人们对百万、十亿、万亿这三者的混淆程度,已到了近乎流行病的状态了。在电视新闻报道中,几乎每星期都可以看到此类乱用(多数混淆都是搞不清究竟是百万还是十亿)。因此,也许你们可以原谅我,在此“话外生枝”,花些时间来阐明这些数字之间的差异。百万是1000个“一千”,写成数字是1后面跟了6个0;十亿是1000个“百万”,写成数字是1后面跟了9个0;万亿是1000个“十亿”(或100万个“百万”),写成数字是1后面跟了12个0。
这是美国的传统用法。有很长的一段时间,英国的“十亿”是美国的“万亿”,而英国人把美国的“万亿”用较合理的写法,写成1000个百万(1000 million)。欧洲人则把英国的“十亿”(美国的“万亿”)叫成milliard。我小时候集过邮。我有一张未用过的德国邮票,是在德国通货膨胀最高峰时发行的,票面价值是50 milliarden(德文的milliard)。寄一封信要花上50万亿马克的邮资(当时,人们用载货的独轮车装钱去食品店或糕饼面包店购物)。由于美国在世界上的影响力,这些迥异于美国的数字用法已经逐渐被淘汰掉。现在,milliard这个单词几乎很难看到了。
一个绝不会搞混上述超大数字的办法是,数一下1后面跟了多少个0。可是,如果0的数目太多,数起来就有点费事了。这就是我们在每3个0之间加入逗号或空格的原因。因此,1万亿的写法是1,000,000,000,000或1 000 000 000 000(欧洲人用句点“.”代替逗点“,”)。至于那些比万亿更大的数字,你就要数一下有多少3个0的小节了。如果有种方法能让我们立刻看出有多少个0,那我们碰到一个很大的数字时,理解起来就会容易很多了。
指数表示法
科学家和数学家都是务实之人,他们发明了一套实际的计数方法,叫作指数(exponent)法。首先,你先写下数字10,然后在它的右上方写下一个字体较小的上标(superscript)数字,显示1后面跟了几个0。因此,106=1 000 000;109=1 000 000 000;1012=1 000 000 000 000,以此类推。这些上标数字就叫作指数,又称次方;例如,109就称为10的9次方(或10的9次幂)。其中102和103为例外,分别称为10的平方和10的立方。“次方”和其他许多科学术语——如“参数”(parameter)——已逐渐渗透到我们的日常生活用语中,可是它们的词意经常被曲解。
使用次方的一个好处是清晰不易弄错,它的另一个好处是,当两个很大的数字相乘时,乘数的指数就是这两个数字的指数和,因此,1000×1 000 000 000 = 103×109=1012。再举一个更大的数字为例:如果每个星系中平均有1011颗恒星,且宇宙中有1011个星系,那么宇宙内的总恒星数就是1022颗。可是有许多人一看见数字就胆怯,自然对数学产生一种莫名的反感,怕用次方这个符号(尽管次方的应用真的避免了不少麻烦),而且排版人员还常常排错上标数字,例如把109排成109(这本书的排版人员可以说是例外)。
第12页的表显示了几大常用大数词语,每个词语都比上一个增加1000倍。在英文用语中,万亿以上的词语就很少用到了。如果你每秒念一个数字,你要不停地数一个星期才可以数到百万,花半生的时间才可以数到十亿。即使你从宇宙诞生时就开始数,你还数不到1018。
从宇宙诞生时就开始数数
更大的数字名称是:
sextillion(1021), septillion(1024), octillion(1027), nonillion(1030),和decillion(1033)。地球的质量是6 octillion克。
还有一些科学计数符号或指数也有名称。如:电子的大小级别是飞米(又称费米,femtometer, 10-15m);黄光的波长为半微米(0.5 μm);人眼勉强可以看到0.1毫米(10-4m)大小的小虫;地球半径为6300千米
(6300千米 = 6.3 Mm = 6.3百万米);一座山的重量可能有100 petagrams
(100 pg = 1017克)。所有的数字前缀在下表列出:
续表
轻松与大数字打交道
一旦你熟悉了指数的用法,你就可以轻松地与极大的数字打交道了。例如:一茶匙土壤的微生物数约为108个,地球上所有沙滩的沙粒数约为1020粒,地球上的生物总数约为1029个,所有生物的原子数约为1041个,太阳的原子总数约为1057个,宇宙中的基本粒子,包括电子、质子、中子等,约为1080个。这并不是说你的脑中就有了一个十亿或万亿的想象图像——没有人有。可是,一旦用了指数符号,你就能想象或运算这类大数字了。对最开始一无所知,只会用手指或脚趾来计算他周遭同伴的原始人类而言,有这样的计算能力已算是不错的了。
大数字是现代科学的一部分,可是我不希望留给人们一个印象,就是大数字是当代的产物。
在很早的时候,印度人的数学就引用了极大的数字。你在现代的印度报纸上可以看到罚金或预算中都用了拉克(lakh, 10万)或克罗尔(crore, crore等于100 lakh)来计算。印度人用了以下的代词:das = 10、san=100、hazar=1000、lakh=105、crore=107、arahb=109、crahb=1011、nie=1013、padham=1015、sankh=1017。在古墨西哥文明被欧洲人摧毁之前,玛雅人对世界的历史自有一套时间的标尺,这标尺与欧洲人以前公认的、小得可怜的宇宙年龄[9]相比真有天壤之别。在那些位于金塔纳罗奥州(Quintana Roo)科巴区(Coba)[10]逐渐被风化的古建筑遗迹中,有碑文显示,在古代玛雅人的想象中,宇宙的年龄为1029年。古印度人认为目前轮回的宇宙[11]的年龄约为8.6×109年——几乎和现代科学估计的数字相符。而在公元前3世纪,一名西西里岛的数学家,阿基米德,写了一本名为《数沙者》的书,书中估算用沙粒把宇宙装满约需1063颗沙粒。在真正的大问题中,“亿亿万万”只是微不足道的零头而已。