计算机最主要的工作原理是啥 计算机最主要的工作原理( 四 )


包含10个数码:0、1、2、3、4、5、6、7、8、9 。基数:10 。逢十进一(加法运算),借一当十(减法运算) 。十进制转换十进制计算式说明:例如,将一个整数123456转换为十进制表示的计算式为:123456=110^5+210^4+310^3+410^2+510^1+610^00.7.4.2 二进制(Binary notation)二进制的特点具体如下 。
包含两个数码:0、1 。基数:2 。逢二进一(加法运算),借一当二(减法运算) 。二进制转换为十进制的计算式举例说明如下 。例如,将一个二进制数1101转换为十进制表示的计算式为:12^0+02^1+12^2+12^3=130.7.4.3 八进制(Octal notation)八进制的特点具体如下 。
包含8个数码:0、1、2、3、4、5、6、7 。基数:8 。逢八进一(加法运算),借一当八(减法运算) 。八进制转换为十进制的计算式举例说明如下 。例如,将一个八进制数123转换为十进制的计算式为:38^0+28^1+1*8^2=830.7.4.4 十六进制(Hexadecimal nonation)十六进制特点具体如下 。
包含16个数码:0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F 。基数:16逢十六进一(加法运算),借一当十六(减法运算) 。在16个数码中,A、B、C、D、E和F这6个数码分别代表十进制的10、11、12、13、14和15,这是国际上通用的表示法 。十六进制转换为十进制的计算式举例说明如下 。例如,将一个十六进制数5F3A转换为十进制的计算式为:1016^0+316^1+1616^2+516^3=24634二进制数与其他数之间的对应关系如表0-6所示 。表0-6 几种常用进制之间的对照关系0.8 计算机中数据表示0.8.1 数值数据的表示0.8.1.1 机器数和真值计算机中使用的是二进制,因此只有0和1这两种值 。一个数在计算机中的表示形式,称为机器数 。机器数所对应的原来的数制称为真值,由于采用二进制必须把符号数字化,因此通常是用机器数的最高位作为符号位的,但仅用来表示数符 。若该为位0,则表示正数;若该位为1,则表示负数 。机器数也有不同的表示法,常用有3种:原码、补码和反码 。
机器数的表示法:用机器数的最高位代表符号(若为0,则代表正数;若为1,则代表负数),其数值位为真值数的绝对值 。举例用8位二进制数表示一个数,如图0-39所示 。
图0-39 用8位二进制表示一位数
在数的表示中,机器数与真值的区别是:真值带符号如-0011100,机器数不带数符,最高位为符号位,如10011100,其中最高位1代表符号位 。
例如:真值数为-0111001,其对应的机器数为10111001,其中最高位1,表示该数为负数 。
0.8.1.2 原码、反码、补码的表示在计算机中,符号位和数值位都是用0和1表示的,在对机器数进行处理时,必须考虑到符号位的处理,也就是对符号和数值的编码方法 。常见的编码方法有原码、反码和补码这3中方法 。下面分别讨论这3中方法的使用 。
(1)原码的表示
一个数X的原码表示为:符号位用0表示正,用1表示负;数值部分为X的绝对值的二进制形式 。记X的原码表示记为[X]原 。
例如:当X=+1100001时,则[X]原=01100001 。
当X=-1100101时,则[X]原=11110101 。
在原码中,0有两种表示方式:
X=+0000000时,则[X]原=00000000 。
X=-0000000时,则[X]原=10000000 。
(2)反码的表示
一个数X的反码表示方法为:若X为正数,则其反码和原码相同;若X为负数,在原码的基础上,符号位保持不变,数值位各位取反 。这里将X的反码表示记为[X]反 。
例如:当X=+1100001时,则[X]原=01100001,[X]反=01100001 。
当X=-1100001时,则[X]原=11100001,[X]反=10011110 。
在反码表示中,0也有两种表示形式:
当X=+0时,则[X]反=00000000 。
当X=-0时,则[X]反=10000000 。
(3)补码的表示
一个数X的补码表示方式为:当X为正数时,则X的补码与X的原码相同;当X为负数时,则X的补码,其符号位与原码相同,其数值位取反加1 。这里将X的补码表示记为[X]补 。
例如:当X=+1100001时,则[X]原=01100001,[X]补=01100001 。
当X=-1100001时,则[X]原=11100001,[X]补=10001111 。
0.8.2 非数值数据的表示计算机中使用数据有数值型数据和非数值型数据两大类 。数值数据用于表示数量意义;非数值数据又称为符号数据,包括字母和符号等 。计算机除处理数值信息之外,还需要处理大量字符信息 。例如,将用高级语言编写的程序输入到计算机时,人与计算机通信时所用的语言就不再是一种纯数字语言而是字符语言 。由于计算机中只能存储二进制数,这就需要对字符进行编码了,从而建立字符数据与二进制串之间的对应关系,以便于计算机识别、存储和处理 。这里介绍两种符号数据的表示 。