首页 百科知识 二进制十进制表示方法

二进制十进制表示方法

时间:2022-10-16 百科知识 版权反馈
【摘要】:由于在计算机内部采用二进制数系统,所以无论何种类型的信息都必须以二进制数的形式在计算机中进行处理。计算机采用具有两种不同稳定状态的电子或磁性器件表示0和1。计算机中常以字节为单位表示文件或数据的长度以及存储容量的大小。如果计算机运算的结果超过了机器数能表示的范围,就会产生“溢出”,计算机便停止当前工作,进行溢出处理。

1.1.2 计算机中信息的表示

计算机是对数据进行处理的机器。由于在计算机内部采用二进制数系统,所以无论何种类型的信息都必须以二进制数的形式在计算机中进行处理。

1.进位计数制

在日常生活和工作中,人们在计数时使用不同的记号和命名数字的方法,从而构成各种计数制。每一种计数制都使用一组特定的数字符号,将这些符号按序排列,可以表示一个数值,每一种计数制都规定了进位的原则,这种计数方法称为进位计数制。人们最常用的是十进制。在计算机科学中除十进制外,常用的还有二进制、八进制和十六进制。

在采用进位计数的数字系统中,如果用r个基本符号(例如0,1,2,…,r−1)表示数值,则称其为r进制数,r称为该数制的基。例如:十进制的基r为10,基本符号为0,1,2,…,9。若取基r=2,则基本符号为0和1,称为二进制数。不同的计数制具有的共同特点是:

(1)每一种计数制都有固定的符号集。如十进制数制,基本符号有10个:0,1,2,…,9。四进制数制,基本符号有4个:0,1,2,3。

(2)使用位置表示法。处于不同位置的符号代表的值不同;其值与所在位置的权值有关。

例如,十进制数123.45可表示为

123.45=1×102+2×101+3×100+4×10-1+5×10-2

各种进位计数制中的权值恰好是基数的i次幂,其中i,∈(−∞+∞),i的大小与该位在数中的位置有关。

对任何一种进位计数制r表示的数都可以写成按其位权展开的多项式。任意一个r进制数N可表示为

N=∑Dmri

其中,Dm为该数制采用的基本数符,ri是权值,r是基数,基数不同所表示的进位数制不同。计算机中常用的进位数制如表1.1.1所示。

表1.1.1 计算机中常用的几种进位数制的表示

img3

计算机采用二进制,而不采用十进制的主要原因是:

(1)二进制只使用数字符号0和1,可用自然界存在的两种对立的物理状态表示。例如,晶体管导通为1,截止为0;高电压为1,低电压为0;灯亮为1,灯熄为0;磁性器件磁化在一个方向为1,另一个方向为0;等等。计算机采用具有两种不同稳定状态的电子或磁性器件表示0和1。二进制状态简单,比十进制容易实现,数据传送也不易出错。

(2)二进制的运算比十进制数简单。二进制两个整数的“加”的运算规则只有三条:

加法 0+0=0

   0+1=1   1+0=1

   1+1=10

这样大大简化了计算机中实现运算的线路。实际上,计算机的减法、乘法及除法运算都可转化为加法这种最基本的运算来完成。

(3)采用二进制可以进行逻辑运算,使逻辑代数、电路成为计算机电路设计的基础。

2.不同进制之间的转换

(1)r进制转换为十进制:采用权展开公式实现:

N=∑Dmri

将r进制数转换为十进制数的方法是:将r进制数的(非0)数符与相应位置的权值相乘,然后相加即可。例如,将二进制数转换为相应的十进制数,只要将二进制数中出现1的位权相加即可。

例1 将二进制数100110.101转换成相应的十进制数。

(100110.101)B=1×25+1×22+1×21+1×2−1+1×2−3=(38.625)D

例2 将八进制数103.2转换成相应十进制数。

(103.2)O=1×82+3×80+2×8−1=(67.25)D

(2)十进制数转换为r进制

①十进制数转换为r进制整数。将一个十进制整数反复除以基数r,直到商为0为止,并记下每次所得余数(注:余数始终是介于0到r−1之间的数,包括0和r−1),将最后一个余数到第一余数按从左到右的次序连起来,它们所组成的数字串即为相应的r进制整数。这种方法称为除r取余法。例如,将十进制整数转换成相应的二进制整数,只需将十进制整数反复除以2,直到商为0为止。

例如,将十进制数14转换成二进制数:

img4

即(14)D=(1110)B

②十进制小数转换为r进制小数。将十进制小数转换成r进制小数时,首先将十进制小数反复乘以基数r,并取其整数部分(注:整数部分始终是介于0到r−1之间的数,包括0和r−1)。将从第一个整数到最后一个整数按从左到右的顺序连起来,它们所组成的数字串即为相应的r进制小数,这种方法称为乘r取整法。

例如,将十进制数0.375转换成相应的二进制数。

0.375×2=0.75  img5  第一个整数

0.75×2=1.5   img6

0.5×2=1.0    img7  最后一个整数

即(0.375)D=(0.011)B

如果十进制数包含整数和小数两部分,则必须将十进制数整数部分和小数部分分别按除r取余数和乘r取整数进行转换,然后,再将r进制整数和小数部分组合在一起。

例如,将十进制数14.375转换成二进制数,只要将上例的整数部分和小数部分组合在一起即可,即1110.011。

(3)非十进制数间的转换

两个非十进制数之间的转换方法一般结合上述两种方法进行转换,即先将被转换数据转换为相应的十进制数,然后再将十进制数转换为其他进制数。由于二进制、八进制和十六进制之间存在特殊关系,即8=23,16=24,因此转换方法就比较容易,如表1.1.2所示。

表1.1.2 二进制、八进制、十六进制之间的关系

img8

1位四进制数相当于2位二进制数;1位八进制数相当于3位二进制数;1位十六进制数相当于4位二进制数。

根据这种对应关系,二进制转换到八进制十分简单,只需将二进制数以小数点为界,整数从右向左每3位一组,小数部分从左向右每3位一组,最后不足3位补零,然后根据表1.1.2,即可完成转换。例如,将二进制数(10100101.010111010)B转换成八进制数。

  img9B=(245.272)O

将八进制转换成二进制的过程正好相反。

二进制同十六进制之间的转换就如同八进制同二进制之间一样,只是4位一组。

例如,将二进制(1111111000111.100101011)B转换成十六进制数。

  img10B=(1FC7.958)H

3.信息的单位及机器数

在计算机中采用电子器件存储信息。每个电子器件具有两种状态,分别表示1和0。每个电子器件可以代表二进制数中的一位。位(bit)是计算机中的最小信息单位。通常将八位二进制位称为一个字节(byte),字节是存储信息的基本单位。一个字节(八个电子器件的状态的不同组合)可以表示256种状态,它可以存放0~255范围内的一个整数,或一个字符的编码。

计算机中常以字节为单位表示文件或数据的长度以及存储容量的大小。例如,一个U盘的存储容量为10GB。常用的字节单位有:

  1B=8bit

  1KB=210B=1024B

  1MB=1024KB(百万、兆)

  1GB=1024MB(十亿、千兆)

  1TB=1024GB(万亿、百万兆)

2个字节通常称为一个(存储)字,(存储)字长16位;4个字节称为双(存储)字,(存储)字长32位。存储字长是指计算机的一个存储单元占用的字节数。(存储)字长是4个字节(32位)的计算机,4个字节(整体)作为一个存储单元(即一个地址可以代表4个字节),通常也称为计算机按双(存储)字编址。一个数据至少占用一个存储单元。

存储单元存储的二进制数据称为机器数。

(机器)字长代表了计算机能直接处理的二进制数据的位数;直接反映了一台计算机的计算精度。(机器)字长可以作为是计算机的一个重要技术指标。(机器)字长(通常)由数据总线条数决定。通常所说多少位的计算机,就是指一个(机器)字长有多少位。一般来说,计算机的(机器)字长越长,性能也越高。大型机的(机器)字长可以高于128位。

机器字长与存储字长通常是相同的,但也可以不同,一般是存储字长小于机器字长,例如,机器字长是32位,存储字长可以是32位,也可以是16位,当然,后者会影响计算机的工作效率。

机器数具有的重要特点为:

(1)机器数的位数固定,能表示的数值范围受到位数限制。例如,(存储)字长为8位的计算机,能表示的无符号整数的范围为0~255(28−1);(存储)字长为16位的计算机能表示无符号整数的范围为0~65535(即216−1)。如果计算机运算的结果超过了机器数能表示的范围,就会产生“溢出”,计算机便停止当前工作,进行溢出处理。

(2)机器数的正、负分别使用0和1表示。在实际应用中,数总是有正负的,在计算机中通常是将最高位作为符号位,其余作为数值位,并规定0表示正数,1表示负数。因此,机器数是连同数据符号一起数字化了的数据。

(3)机器数有定点和浮点两种表示法。

4.字符的表示

为了符合人们的习惯,使用计算机时能用十进制数及英文字母、其他字符完成信息的输入和输出;但在计算机内又要求以二进制数进行处理,因此信息必须用二进制编码。所谓编码是用一串二进制数码代表一位十进制数字或一个字符。编码工作由计算机在输入、输出时自动进行。国际上广泛采用美国标准信息交换代码(American Standard Code for Information Interchange)表示字符,简称为ASCII码。ASCII码基本字符集包括了128个字符,其中包括数字(0~9),英文大小写字母,一些在算式中常用的符号,以及控制字符,每个字符用一个字节表示。由于基本ASCII码的最高位为0,因此128个字符的编码范围为00000000~01111111,即十进制的0~127。字符的二进制编码表如附录C所示。从A到Z的26个大写字母,是由01000001~01011010(十进制的65~90)的26个连续代码来表示的,而0~9的数字,则由00110000~00111001(十进制的48~57)的10个连续代码来表示。从NUL到US的控制字符,用00000000~00011111(十进制的0~31)的32个连续代码来表示,控制字符(包括最后一个删除字符DEL)是非显示和非打印字符,其他为可显示/可打印字符。

字符通常是用计算机的键盘输入的。键盘上的每个字符都由其ASCII码代表。通过字符的不同组合,就可以实现对各种信息的表示和处理。编码的作用就是将要计算机处理的数据(数值或字符)转换成二进制数字串,以便在机器中存储和处理,输出时再转换成对应符号。

例如,用键盘上按键输入“CHINA”的字符串,传送到计算机则是5个二进制数:01000011、01001000、01001001、01001110、01000001;反之,存储器内存储的二进制数字01010111、01010000、01010011在显示器或打印机输出时,可转换成字符串“WPS”。

必须指出的是,由7位编码构成的ASCII码基本字符集能表示的字符只有128个,不能满足信息处理的需要,近年来,对ASCII码字符集进行了扩充。采用8个二进制位表示一个字符,编码范围:00000000~11111111,一共可表示256种字符和图形符号,这称为扩充的ASCII码字符集,但通常使用的仍是基本ASCII码字符集。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈