计算机在处理各种信息时,首先要将信息表示成具体的数据形式。计算机内的信息都是以二进制数的形式表示,但人们日常生活中惯用的毕竟是十进制数。为了简化二进制的表示,在计算机科学中还引入了八进制和十六进制。
一、常见的进位计数制
人们的生产和生活中离不开数,数有各种表示方法,通常把数的记写和命名称为计数;不同的记写和命名方法构成计数制,即数制。按进位的原则进行计数,称为进位计数制。进位计数制的种类很多,例如,人们日常生活中使用的十进制、表示角度用的60进制、表示时间(小时)用的12进制等。
1.计数制的概念
构成进位计数制要有两个基本要素:
(1)基数——基本符号的个数。
(2)进位所遵循的原则:逢基数进一。
例如:十进制数的基本符号为:0、1、2、3、4、5、6、7、8、9;基数是10;进位原则是:逢十进一。
有了进位制,就有了数据的表示方法和计算的依据。一般说来,任何R进制都可采用位权表示法。
例2-1:十进制数234.56按位权展开的多项式为:
234.56=2×102+3×101+4×100+5×10-1+6×10-2
一般的,在R进位制下的数可以表示为:
anrn+an-1rn-1+…+a1r1+a0r0+a-1r-1+a-2r-2+…+a-mr-m
其中,an,an-1,…,a-m为系数,r为基数,n,n-1,…,1,0,-1,-2,…,-m为权。
2.常用进位计数制表示方法
在计算机科学中,常用进位计数制有二进制、八进制、十进制和十六进制。
(1)基本符号
二进制:R=2,基本符号是0、1
八进制:R=8,基本符号是0、1、2、3、4、5、6、7
十进制:R=10,基本符号是0、1、2、3、4、5、6、7、8、9
十六进制:R=16,基本符号是0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F;其中A~F分别对应十进制数的10~15。
十、二、八、十六进位制对应关系如表2-1所示。
(2)表示方法 由于不同进位制中存在相同的符号,为了加以区别,常在数据后加上一个英文字母作为不同进制数据的标识,二进制用B(BIN),八进制用O(OCT),十进制用D(DEC),十六进制用H(HEX)。也可以在数据右侧用基数标注来区别不同的进位制数据。
例如:二进制数10101可表示为:10101B或101012,
八进制数132可表示为:132O或1328,
十进制数45.27可表示为45.27D或45.2710,
十六进制数43F可表示为43FH或43F16。
当十六进制数最高位为字符符号时,为了与变量名区别,需要在其前冠以数字0。例如:十六进制数CE5表示为0CE5H或0CE516。
表2-1 十、二、八、十六进位制对应关系
(3)按位权展开式 任意进制数都可按位权展开为多项式,计算该多项式可以得到它相应的十进制数值。实际上,这也是把任意进制数转换成十进制数的方法。
例2-2:10101B=1×24+0×23+1×22+0×21+1×20=21D
例2-3:1011.101B=1×23+0×22+1×21+1×20+1×2-1+0×2-2+1×2-3=8+0+2+1+0.5+0+0.125=11.625D
例2-4:132Q=1×82+3×81+2×80=90D
例2-5:43FH=4×162+3×161+15×160=1087D
在微型计算机的应用中,内存地址的编址、显示内存单元里的数值、显示ASCII码值、汇编语言源程序中的地址和数值信息均采用十六进制数表示。例如1M内存,其内存单元的编址为00000H-0FFFFFH。
还要强调指出,在微型计算机的应用中引入十六进制数的目的主要是为了书写上的方便,实际上在计算机内部信息处理仍采用二进制数。
(4)进位规则下的简单运算 无论何种进位制,其进位规则都是:“逢基数进一”,对于二进制是“逢二进一”,对于十六进制是“逢十六进一”。借位也是遵循这个规则。
例2-6:计算1011B+1010B的值。
信息技术基础第一册 基础篇(第二版)
则:1011B+1010B=10101B
二、不同计数制间的等值转换
二进制计数与人们日常应用习惯的十进制数差别很大,二进制数的数位比起等值的十进制数要长的多,而且读写困难,作为书写、交流的手段,使用二进制数是很不方便的,因此人们通常使用八进制和十六进制作为二进制的缩写方式。这就产生了一个不同进制之间的转换问题。
1.十进制转换为任意进制的基本方法
在十进制数转换为其他进制数要按照十进制数的整数部分和小数部分两种不同的情况采用不同的方法来处理。
(1)十进制整数转换为其他进制整数的方法如下:
十进制整数转换成其他进制采用“除基数取余”法,转换过程是,将十进制整数除以基数,得到一个商和余数,再将商除以基数,得到另一个商和余数,如此继续下去直到商为0结束。最后将余数按逆向方式依次排列,即最后一个余数作为最高位,第一个余数为最低位,即可得到以该基数为进制的各位数字。
例2-7:将13D转换为二进制数。
信息技术基础第一册 基础篇(第二版)
则13D=1101B
(2)十进制纯小数转换为其他进制纯小数的方法如下:
十进制纯小数转换为其他进制纯小数采用“乘基数取整”的方法。转换过程是,将十进制纯小数乘以基数,得到一个积,然后去掉积的整数部分,将剩下的纯小数再乘以基数,如此继续下去,直到纯小数部分为零或满足所要求的精度为止。最后将去掉的整数部分(0或1)按乘得的先后依次排列下去,即可得到所求小数点后的各位数字。
例2-8:将0.25D转换为二进制数。
信息技术基础第一册 基础篇(第二版)
则0.25D=0.01B
混合小数由整数和纯小数部分组成,十进制混合小数转换为其他进制数时,先将这两部分按前面所介绍的方法分别转换为对应的整数部分和小数部分,然后再用小数点将它们组合起来。
需要指出,在十进制数小数转换为其他进制数小数时,并不是都可以完整地实现精确转换,例如:0.13D无论进行多少次乘2运算,其小数部分都不可能为0,因此,只能根据精度需要进行有限次运算得到适当的近似值。
2.二进制与八进制、十六进制数之间的相互转换
二进制、八进制、十六进制数都可以表示为2的整数次幂的形式,我们可以从中看到它们之间存在如下特殊的关系(表2-2):
表2-2 二进制、八进制、十六进制数转换关系
从以上关系可以看到3位二进制数恰好是一位八进制数,4位二进制数恰好是一位十六进制数。因此,二进制数与八进制数,二进制数与十六进制数之间的同值转换则可以通过“分组法”实现。
(1)二进制数与八进制数之间的同值转换 二进制数转换为八进制数时,以小数点为界,整数部分自右至左,每3位一组,最左边不足三位时,在最左边用0补齐;小数部分自左至右,每3位一组,最右边不足三位时,在最右边用0补齐;然后各组转换成相应的八进制数。
例2-9:将11101.11001B转换为八进制数
11101.11001B=(011)(101).(110)(010)=35.62O
反之,将八进制数转换为二进制数,只要把每位八进制数用对应的3位二进制数表示即可。
例2-10:将15.32O转换为二进制数
15.32O=(001)(101).(011)(010)=1101.01101B
(2)二进制数与十六进制数之间的同值转换 与二进制数转换为八进制数的转换相仿,只是按4位二进制数对应一位十六进制数进行分组即可。
例2-11:将1100011.10111B转换为十六进制数
(1100011.10111)B=(0110)(0011).(1011)(1000)=62.B8H
例2-12:将26D3.4AH转换为二进制数
26D3.4AH=(0010)(0110)(1101)(0011).(0100)(1010)=10010011011010011.0100101B
3.十进制数与二进制数相互转换的简便方法
二进制数与十进制数之间的转换,无论是“除二取余”、“乘二取整”,还是使用“按权位相加”等方法,运算都很复杂,特别是在作较大数值转换时,更不便记忆且也容易出错,下面给出十进制数与二进制数相互转换的简便方法供参考。
为了研究的方便,首先给出如下二进制数位权与对应二进制数的对照表:
十进制整数与对应的二进制整数的对照表如表2-3所示。
表2-3 十进制整数与对应的二进制整数的对照表
十进制小数与对应的二进制小数的对照表如表2-4所示。
表2-4 十进制整数与对应的二进制小数的对照表
利用上表,采用“降幂法逐次查找”的方法,即可方便地进行十进制数与二进制数相互转换,我们可以通过下面实例描述用“降幂法逐次查找”将十进制数1250D转换为同值的二进制数的基本过程。
1250D=1024+(1250-1024)=1024+226=1024+128+(226-128)=1024+128+98=1024+128+64+(98-64)=1024+128+64+34=1024+128+64+32+(34-32)=1024+128+64+32+2=210+27+25+21=1001110010B
同样,可以利用对照表,参照上述方法实现十进制小数与对应的二进制小数的转换。
三、计算机中非数值信息的数据编码
将各种信息形式转化二进制编码形式的过程叫做数字化。在计算机的虚拟世界中,除了数值信息,还有文字、符号、图像、声音、动画等丰富多彩的非数值信息,它们也都是用二进制特定编码来表示的。因为信息的表示完全依赖于计算机的硬件及其物理状态,因此必然有其特殊的实际意义和优势。
1.采用二进制编码的优势
(1)易于物理实现且稳定可靠 二进制的基本符号是“0”和“1”,它们与稳定状态的物理现象有准确的对应关系,例如,电压的“正”与“负”、电路的“通”与“断”、光的“有”与“无”、材料的“磁化”与“未磁化”等。计算机的各组成部分都由仅有两个稳定状态的电子元件组成,不仅容易实现,而且稳定可靠。
(2)运算简单 二进制仅有2个基本符号,运算法则也就极其简单,以乘法为例,只有0×0、1×0和1×1这3种形式,而采用十进制则需要55种形式。显然,计算机内部采用二进制编码可以大大简化物理设计。
(3)可以方便地实现逻辑功能 二进制的两个基本符号“0”和“1”恰好对应逻辑判断的“真”与“假”,在计算机内部采用二进制编码可以方便地实现逻辑功能。
(4)保证可靠性“0”和“1”是二进制仅有的基本符号,也就是说,某一数位不是“0”,便是“1”,没有其他可能。两种状态十分分明。用物理量表示这两种状态可使数据在传递过程中的抗干扰能力、鉴别信息能力以及纠错能力大为提高,从而使可靠性得到保证。
2.常用的编码形式
非数值信息在计算机内需要特定的二进制代码编码表示。编码是指用少量基本符号根据一定规则组合起来以表示大量复杂多样信息的方法。计算机中的数据编码很丰富,这里仅简单介绍以下几种常用的编码形式。
(1)ASCII码 ASCII码(American Standard Code For Information Interchange,美国标准信息交换码)是目前在微型计算机中最普遍使用的字符编码,是用7或8位二进制数进行编码的。字节最高位一般不使用,基本ASCII码最多可以表示128个不同字符,其最高位可作为校验码,用于提高字符信息传递的可靠性。
基本ASCII码包括0~9共10个数字字符,大小写英文字母及专用符号等95个可打印字符,除此还有33个控制字符。每一个字符对应一个二进制编码,按类别顺序排列,以便于查找。例如0~9这10个数字用30H~39H表示,即110000B~111001B。基本ASCII码表见附录。
ASCII码是可以扩展的,尽管美国国家信息协会已对扩展ASCII码给出了定义,但实际上多数国家都将扩展的ASCII码规定为自己国家语言的字符代码,如中国把扩展ASCII码作为汉字的机内码。
(2)汉字编码 汉字的字数繁多,字形复杂,字音变化多样,常用的汉字就有7000个左右,用一个字节表示是绝对不可能的,因此多采用2个字节表示。在计算机中使用汉字,必须要解决汉字的输入、存储和输出等关键问题。
在输入汉字时,使用“输入码”,根据不同的输入方法,它又细分为区位码、拼音码、字形码。在计算机内部处理汉字时需用汉字机内码,把汉字编码转换成二进制的专用代码来处理。在输出汉字时,需要字形码,这样才能使汉字正确地显示在输出设备上。
四、信息的计量单位
在计算机内部,数据是信息的载体。无论是程序还是数据信息(包括数值信息和非数值信息)都以二进制形式存放在存储器(包括内存和外存)中。数据存储、信息传递、软件设计、计算机性能评价等都涉及到信息的计量。信息计量的单位为以下几种:
(1)位/比特(bit)位是计算机中存储信息的最小单位;通常称为一个比特(bit)。一个比特就是一个二进制数位,即一个“0”或一个“1”。
(2)字节(B、Byte)字节是计算机中信息存储和处理的最小单位,一个字节有8个二进制数位,即有8个比特。一个字节可以存放一个ASCII字符代码,也可以存放-128~127范围内的整数。
随着计算机存储信息容量的不断扩大,用字节来度量存储容量会出现很大的数值,于是便出现了KB(千字节)、MB(兆字节)、GB(吉字节)、TB(太字节)和PB等度量单位。它们的关系是:
1 KB=1024 B 1MB=1024 KB 1GB=1024MB 1 TB=1024GB。
(3)字 字又称为“计算机字”,是2个字节的组合。字作为独立的信息单位存在,是信息存储、加工、交换的基本单元。字常用来表示数据或信息的长度,例如,1个汉字占1个字,即占2个字节。一般一个整数占一个字,即16位二进制数位,一个单精度实数占2个字,即占32位二进制数位。
计算机内部表示信息的方法
计算机在处理各种信息时,首先要将信息表示成具体的数据形式。计算机内的信息都是以二进制数的形式表示,但人们日常生活中惯用的毕竟是十进制数。为了简化二进制的表示,在计算机科学中还引入了八进制和十六进制。 一、常见的进位计数制 人们的生产和生活中离不开数,数有各种表示方法,通常把数的记写和命名称为计数;不...
在计算机内部所有信息都是以什么表示的
在计算机内部,所有信息都是以二进制的形式表示的。二进制是一种数值表示系统,它只有两个可能的数字或符号,即0和1。这与我们日常生活中使用的十进制系统不同,十进制系统有十个可能的数字。计算机选择二进制作为其信息表示的基础,主要是因为二进制系统的简单性和稳定性,这使得计算机硬件能够更容易、更...
在计算机内部所有信息都是以什么表示的
在计算机内部,所有信息都是以二进制形式表示的。二进制是计算机中采用的一种数制,它只包含两个数码:0和1。这种表示方法之所以被计算机广泛采用,是因为它具有物理上容易实现、可靠性高、运算简单以及通用性强等优点。计算机内部的信息,无论是数值、文本、图像还是音频视频数据,都需要先转换成二进制的形...
计算机中的信息如何表示
利用定点表示法表示。定点表示法在二进制中,0和1分别由处理机电子元件的两个稳定状态表示,2为数的基底。二进制数字符数据表示法用二进制位序列组成供输入、处理和输出用的编码称为字符数据。字符数据包括各种运算符号、关系符号、货币符号、字母和数字等。一台处理机的数据表示方法是处理机设计人员规定的...
计算机内部信息表示的方式是二进制数,是否正确?
【正确】计算机采用二进制,运算器运算的是二进制数,控制器发出的各种指令也表示成二进制数,存储器中存放的数据和程序也是二进制数,在网络上进行数据通信时发送和接收的还是二进制数。
计算机中的信息如何表示
1、字符的表示。在计算机处理信息的过程中,要处理数值数据和字符数据,因此需要将数字、运算符、字母、标点符号等字符用二进制编码来表示、存储和处理;2、汉字的表示。汉字交换码是指不同的具有汉字处理功能的计算机系统之间在交换汉字信息时所使用的代码标准,我国一直延用国标码作为统一的汉字信息交换码;...
电子计算机中的数据是怎么表示的?
存储在计算机中的信息采用了各自不同的编码方案,就是同一类型的信息也可以采用不同的编码形式。虽然计算机内部均用二进制数来表示各种信息,但计算机与外部交往仍采用人们熟悉和便于阅读的形式,如十进制数据、文字显示以及图形描述等。其间的转换,则由计算机系统的硬件和软件来实现。
信息在计算机以什么形式表示
所有的信息都是以二进制形式存储和表示,所有数据都是由0和1组成。二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”,由18世纪德国数理哲学大师莱布尼兹发现。当前的计算机系统使用的基本上是二进制系统,...
在计算机内部,所有信息的表示法都是采用( )
在计算机内部,所有信息的表示法都是采用:二进制。1、二进制是一种由0和1两个数字组成的基数系统,计算机使用二进制来表示和处理数据。计算机中的所有信息,包括数字、文本、图像、音频等,都可以通过二进制编码来表示和存储。2、二进制编码使用0和1来表示不同的状态,通过不同位上的0和1的组合来表示...
计算机中所有信息在计算机内部以什么表示
二进制。在计算机内部,所有的信息都以二进制表示,因为:二进制只有0和1两种状态,可以使用有两个文档状态的物理器件就能方便的表示二进制。计算机俗称电脑,是现代一种用于高速计算的电子计算机器,可以进行数值计算,又可以进行逻辑计算,还具有存储记忆功能。