【六六互联】长期出售【美国抗投诉服务器】【欧洲抗投诉服务器】【亚洲抗投诉服务器】

数据是计算机处理的对象。数有大小和正负之分,还有不同的进位计数制。在计算机中采用什么样的计数制,是学习计算机时首先遇到的一个重要问题。

在计算机中采用什么样的计数制,是学习计算机时首先遇到的一个重要问题

       1 丰富多彩的数制

在人类历史发展的长河中,先后出现过多种不同的记数方法,其中有一些我们至今仍在使用当中,例如十进制和六十进制。如今,大多数人使用的数字系统是基于10的。这种情况并不奇怪,因为最初人们是用手指来数数的,要是人类进化成8个或12个手指,也许人类计数的方式会有所不同。英语单词Digit(数字)可以指手指或脚趾,单词five(五)和单词fist(拳头)有相同的词根,出现这种情况并不是巧合。

与十进制不同,古代巴比伦人则是使用以60为基数的六十进制数字体系,六十进制迄今为止仍用于计时。使用六十进制,巴比伦人把75表示成“1,15”,这和我们把75分钟写成1小时15分钟是一样的。
    中美洲的玛雅人使用二十进制数,但又不是一种规则的二十进制。真正的二十进制应该是以1,20,202,203等顺序增加数目,而玛雅体系使用的序列是1,20,18×20,18×202等等,这使得一些计算变得复杂。

在早期的数字系统中,还有一种非常著名的罗马数字沿用至今。钟表的表盘上常常使用罗马数字,此外,它还用来在纪念碑和雕像上标注日期,标注书的页码,或作为提纲条目的标记。现在仍在使用的罗马数字有I、V、X、L、C、D、M,其中I表示1,V表示5,X表示10,L表示50,C表示100,D表示500,M表示1000。

很长一段时间以来,罗马数字被认为用来做加减法运算非常容易,这也是罗马数字能够在欧洲被长期用于记帐的原因。但使用罗马数字做乘除法则是很难的。其实,许多早期出现的数字系统和罗马数字系统相似,它们在做复杂运算时存在一定的不足,随着时间的发展,逐渐被淘汰掉了。

2 进位计数制和非进位计数制

对多种数制进行分析后,可将数制分为非进位计数制和进位计数制两种。

1)非进位计数制及其特点

非进位计数制的特点是:表示数值大小的数码与它在数中的位置无关。

典型的非进位计数制是罗马数字。例如,在罗马数字中:Ⅰ总是代表1,Ⅱ总是代表2,Ⅲ总是代表3,Ⅳ总是代表4,Ⅴ总是代表5等。非进位计数制表示数据不便、运算困难,现已基本不用。
           2)进位计数制及其特点

进位计数制的特点是:表示数值大小的数码与它在数中所处的位置有关。

例如,十进制数123.45,数码1处于百位上,它代表1×102=100,即1所处的位置具有102权;2处于十位上,它代表2×101=20,即2所处的位置具有101权;3代表3×100=3;而4处于小数点后第一位,代表4×10-1=0.4;最低位5处于小数点后第二位,代表5×10-2=0.05。

如上所述,数据用少量的数字符号按先后位置排列成数位,并按照由低到高的进位方式进行计数,我们将这种表示数的方法称之为进位计数制。

在进位计数制中,每种数制都包含有两个基本要素。

基数:计数制中所用到的数字符号的个数。例如,十进制的基数为10。

位权:一个数字符号处在某个位上所代表的数值是其本身的数值乘上所处数位的一个固定常数,这个不同数位的固定常数称为位权。

在计算机中采用什么样的计数制,是学习计算机时首先遇到的一个重要问题

      3 计算机科学中的常用数制

 在计算机科学中,常用的数制是十进制、二进制、八进制、十六进制四种。

人们习惯于采用十进位计数制,简称十进制。但是由于技术上的原因,计算机内部一律采用二进制表示数据,而在编程中又经常使用十进制,有时为了表述上的方便还会使用八进制或十六进制。因此,了解不同计数制及其相互转换是十分重要的。

1)十进制数及其特点

十进制数(Decimal notation)的基本特点是基数为10,用十个数码0,1,2,3,4,5,6,7,8,9来表示,且逢十进一,因此对于一个十进制数,各位的位权是以10为底的幂。

例如,我们可以将十进制数(2836.52)10表示为:

(2836.52)10=2×103+8×102+3×101+6×100+5×10-1+2×10-2 

这个式子我们称之为十进制数2836.52的按位权展开式。

2)二进制数及其特点

二进制数(Binary notation)的基本特点是基数为2,用两个数码0,1来表示,且逢二进一,因此,对于 一个二进制的数而言,各位的位权是以2为底的幂。

例如:二进制数(110.101)2可以表示为:

(110.101)2=1×22 +1×21 +0×20+1×2-1+0×2-2 +1×2-3

3) 八进制数及其特点

八进制数(Octal notation)的基本特点是基数为8,用0,1,2,3,4,5,6,7八个数字符号来表示,且逢八进一,因此,各位的位权是以8为底的幂。

例如:八进制数(16.24)8可以表示为:

(16.24)8=1×81 +6×80 +2×8-1+4×8-2

4) 十六进制数及其特点

十六进制数(Hexadecimal notation)的基本特点是基数为16,用0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F十六个数字符号来表示,且逢16进一,因此,各位的位权是以16为底的幂。

例如:十六进制数(5E.A7)16可以表示为:

(5E.A7)16=5×161+E×160 + A×16-1 +7×16-2 

5) R进制数及其特点

扩展到一般形式,一个R进制数,基数为R,用0,1,…,R-1共R个数字符号来表示,且逢R进一,因此,各位的位权是以R为底的幂。

一个R进制数的按位权展开式为:

(N)R=kn×Rn+kn-1×Rn-1 +…+k0×R0 +k-1×R-1 +k-2×R-2+…+k-m×R-m

当各种计数制同时出现的时候,可以用下标加以区别,也有根据其英文的缩写,将(2836.52)10表示为2836.52D,将(110.101)2、(16.24)8、(5E.7)16分别表示为110.101B、16.24O、5E.A7H。