难以数清的位数
- 2013年12月13日
这个现象是查找文件时发现的,系统不断地更新屏幕显示,说它已经翻阅了多少多少文件。但我发现,很难辨认正在变动的一串数字的位数,因为眼睛失去了一个固定的参考点。我又想,如果这串数字在不断地平移,会不会更难数?实验证明,缓缓平移的字符串比随机变换的更难,它会对视线起到更明显的拖拽作用。
按 ‘ 数字 ’ 标签归档
这个现象是查找文件时发现的,系统不断地更新屏幕显示,说它已经翻阅了多少多少文件。但我发现,很难辨认正在变动的一串数字的位数,因为眼睛失去了一个固定的参考点。我又想,如果这串数字在不断地平移,会不会更难数?实验证明,缓缓平移的字符串比随机变换的更难,它会对视线起到更明显的拖拽作用。
一边写一边问读者对这个系列教材的感觉。组里的小姑娘说,读下来,照着做,目前理解上没问题。不过她也说,她的室友是学新闻的,对编程不感兴趣,读这些文章时,反映“读不太懂”。她又说,直到现在还上开胃菜,进度有点慢,希望尽快吃到正餐。
好,正餐来了。
在《程序在干什么?》一章,我说过程序最基本的功能是计算——如果没有计算,我们也不需要计算机了。计算机的运算和人类的数学不同。人类的数学可以设置未知数,然后用推导方法把这个未知数的实际值逼出来。计算机的每一步运算,参与者都是已知的,只是有些参与运算的值永远不变,有些一会儿装三个苹果,一会儿装一百个大象。永远不变的被称为“常量”,可能改变的被称为“变量”。
以下我要说到的规则,仅保证对Python语言有效,其他语言虽然会很相似,但可能有自己的特色法则。
有基本的两种常量:数字和字符串。快捷地描述它们的区别:数字是数学,字符串是语文。
数字很直接,0、-3.5、2012、378.2452,这些数学上看着顺眼的,都是Python语言里合法的数字。另外有些不太顺眼的数字,例如.3和5.,Python也宽宏大量地认为它们是合法的数字,.3意思就是0.3,而5.意思就是5.0。有些巨大的数字或者极小的数字,用科学计数法表达更为便捷的,如1.5×109或者3.0×10-32,Python不会让你辛辛苦苦埋头去数0,而是可以分别表示为1.5E9和3.0E-32,这里的E可以小写。指数前也可以加正负号。
猛击阅读全文
对于外国人来说,汉语最难学的部分,往往集中在最常用的字词上。
我举一个例子,就是数字2。这个数字有两种念法,一个是“两”,一个是“二”。 可什么时候该读两,什么时候该读二?这是我想了很久的一个课题。
最初跳到我脑子里的规则:用来计数时,应该用“两”,用来计序时,应该用“二”。 比如:“那边过来两个人”,不说“那边过来二个人”,“两个黄鹂鸣翠柳”不说“二个黄鹂鸣翠柳”,这是计数。 “他考了年级第二名”,不说“他考了年级第两名”,这是计序。当然,你可以说,“他考了年级前两名”。 这个并不矛盾,因为“前两名”实际上是计数,意思是“前面的两名”,前两名可能是第一,可能是第二,确实不是计序用语。
但这个规则很快被推翻。“十二个人”和“第十二个人”里的“二”,都不能用“两”代替。 我们从来不说“二点半”,可我们也从来不说“十两点半”。 所以规则实际上跟计数还是计序无关,“两个”和“第二”的区别,仅仅对于自然数2出现一次。其它数值都不适用。
所以我想了想,更改规则如下:2本身适用上面说的规则。 对大于2的数,凡出现2的,2应该念“二”,不能用“两”。 放在“十”字前后的,只能念“二”,不能念“两”。 二,十二,二十二,二百二十二,既是此例。
规则完整了吗?再想想,要是有人说:“借给我二千块钱吧”,我会不会听着别扭? 当然了,有人向我借钱,我肯定不太高兴,除非我是开银行的或者放高利贷的。 单抠字面上的原因,就是“千”、“万”、“亿”的前面,只能说“两”: 两千、两万、两亿,除非前头再放个“十”字如:十二万。有一个反例: 就是“二万五千里长征”,虽然这里应该放“两”,但念不出“二万五千里”的气势。
“百”比较有趣,前面放“二”或放“两”都不太别扭。经典案例:二百五。
到此为止,发现的规则太杂乱了,总结一下。下面的列表中,只列出一种读法的,都不能用另一种读法。
1、2、3:一、二、三
1个、2个、3个:一个、两个、三个
第2个:第二个
2:30:两点半
12:十二
20:二十
200:二百、两百
2000:两千
20000:两万
200000:二十万
2000000:二百万、两百万
20000000:两千万
20200000:两千零二十万
200000000:两亿
差不多了吧。可我有点不踏实,因为我想起了另一个案例,就是八十年代著名的兄弟通缉犯:二王。 这个把我难倒了,理论上说,“二王”指的是王家弟兄俩,按照上面我说提到的法则,应该说“两王”才对。 可以安慰自己的是,“二王”是一个风雅的典故,原指王羲之和王献之父子俩,被公安干警借用过来,彰显我们的干警们举重若轻,羽扇纶巾的儒雅气质。
对于别的概念,例如,不姓王的,我们就得恢复正确的语言习惯。 最好的例子是“两会”,这就是说,业务性质相似、同时同地发生的两个会议。 不过,看网上的走势,似乎要比照“二王”成例,称其为“二会”。 我虽然觉得复古倾向有点过,但还是为此感到欣喜,这从另一个侧面反映了我国人民的基本文化素质近几年得到了大幅度提高,精神面貌发生了翻天覆地的变化。