第1章 数据的表示
数学古称算学,是中国古代科学中一门重要的学科。根据中国古代数学发展的特点,可以分为5个时期,分别是萌芽、体系的形成、发展、繁荣和中西方数学的融合。
在数学的不同发展阶段,对��数据的表示都有一些不同的形式。从远古的结绳记数,到现在用计算机等现代科技设计记数,数的表示形式也在逐步演化。
本章主要介绍数据的各种表示形式,包括各种进制及进制之间的转换。
1.1 一 则 童 话
根据我们所学的知识可知道,数据通常是用0、1、2、3、4、5、6、7、8、9这些数来表示,由这些数的不同组合表示现实生活中各种各样的数据。首先来看这个数列中的前两个数:0和1,从通常意义来说,0就是什么也没有,真的是这样吗?对程度员来说不应该这样理解。
先来看这样一个问题,0和1谁大?
1.1.1 0和1的故事
在数学王国里,胖子0与瘦子1常常为了谁大而争执不休。瞧!今天,这两个小冤家狭路相逢,彼此之间又展开了一场舌战。
瘦子1抢先发言:“哼!胖胖的0,你有什么了不起?就像100,如果没有我这个瘦子1,你这两个胖0有什么用?”
胖子0不服气了:“你也甭在我面前耍威风,想想看,要是没有我,你就只是一个光杆呢?”
“哟!”1不甘示弱,“你再神气也不过是表示什么也没有,看!1+0还不等于我本身,你哪点儿派得上用场啦?”
“去!1×0结果也还不是我,你1不也同样没用!”0针锋相对。
“你……”1顿了顿,随机应变道,“不管怎么说,你0就是表示什么也没有!”
“这就是你见识少了。”0不慌不忙地说,“你看,日常生活中,气温0度,难道是没有温度吗?再比如,直尺上没有我作为起点,哪有你1呢?”
“再怎么比,我始终比你大。”1信心十足地说。
听了这话,0更显得理直气壮地说:“嘿嘿,你的大小还得我说了算,我站你左边,你就成0.1,我站你右边你就是10。怎么样?我可让你放大10倍,也可让你缩小10倍!”
眼看着胖子0与瘦子1争得脸红耳赤,谁也不让谁,一旁观战的其他数字们都十分 着急。
这时,9灵机一动,上前做了个暂停的手势:“你俩都别争了,瞧你们,1、0有哪个数比我大?”
“这……”胖子0、瘦子1哑口无言。
这时,9才心平气和地说:“1、0,其实,只要你们站在一块,不就比我大了吗?”
1、0面面相觑,半晌才搔搔头笑了。“这才对嘛!把自己的位置放正,就能起到应有的作用”。9语**长地说。
从以上故事可看出以下两点:
0并不表示什么都没有。
数的大小与所处的位置有关系。
下面就来讨论这两个问题。
1.1.2 0是什么都没有?
通常意义上,0表示“没有”的意思。例如,“2012年过去了,可我的收获为零!”这就表示在2012年没有收获。
但是,0真表示什么都没有吗?
其实,0不仅表示什么都没有,它还有更丰富的内涵。例如,0度并不是没有温度,而是表示温度为0度,比零下1度高,比1度低,如图1-1所示。
图1-1
在日常生活的常用语中,也有很多用0来表示的,如“很多女孩子都喜欢吃零食”,这里的“零食”并不是表示没有“食”,如图1-2所示。
图1-2
“为了增加收入,改善生活,很多程序员在业余时间都会接点零活来做。”这里的“零活”并不是没有“活”。
其实,在数学上,0也并不是表示没有。例如,8和8.0相等吗?其含义相同吗?
看起来在小数点后添加一个0是没有意义的,不过,其含义实际是不相同的。在近似数表示中,数字8表示数据只**到个位,如7.9、8.2等数**到个位都表示为8。而8.0表示数据**到十分位,如8.02、7.99等数**到十分位都表示为8.0。所以,从这个角度来看,8和8.0是不相等的。
1.1.3 0的位置
从“0和1的故事”可看出,当0所处的位置不同时,其含义也不一样。如前面说的8和8.0,当把0放在小数点后面时,从**值方面来看,两个数是相等的,但从近似数来看,小数点后多了一个0,其表示的含义也就不一样了。
那么,在小数点左侧添加0呢?如果在数的*左侧添加0,无论添加多少个0,数的大小都不变。
但是,如果在数的中间插入0,数的位置与数的大小关系就很明显了,如在18的中间插入一个0,得到的是108,很明显,其大小差别很大。
对于18,表示十位为1,个位为8,也就是说,表示18这个数有1个10,8个1。而108,表示百位为1,十位为0,个位为8,即表示有1个100,0个10,8个1,这时的0是一个占位符,把1从十位挤到百位。
而如果在紧邻小数点的左侧添加0,则数据会扩大10倍。