计算机数据原码反码补码.docx
- 文档编号:29953706
- 上传时间:2023-08-03
- 格式:DOCX
- 页数:21
- 大小:22.92KB
计算机数据原码反码补码.docx
《计算机数据原码反码补码.docx》由会员分享,可在线阅读,更多相关《计算机数据原码反码补码.docx(21页珍藏版)》请在冰豆网上搜索。
计算机数据原码反码补码
计算机数据表示
1.二进制计数制
引入二进制数字系统的计算机结构和性能具有如下的优点:
(1)技术实现容易。
(2)二进制运算规则简单。
(3)计算机中二进制数的0、1数码与逻辑代数变量值0与1吻合,所以二进制同时可以使计算机方便地进行逻辑运算。
(4)二进制数和十进制数之间的关系亦不复杂。
2.任意进制计数制和十进制计数制的相互转换
十进制数转换成二进制数:
十进制数据转换为二进制数时,因整数部分与小数部分转换算法不同,需要分别进行。
(1)整数转换方法———除基取余法
十进制整数除以2取余数作最低位系数k0,再取商的继续除以2取余数作高一位的系数,如此继续直到商为0时停止,最后一次的余数就是整数部分最高有效位的二进制系数,依次所得到的余数序列就是转换成的二进制数。
因为除数2是二进制的基数,所以这种算法称作“除基取余”法。
(2)小数转换方法———乘基取整法
把十进制小数乘以2,取其积的整数部分作为对应二进制小数的最高位系数k-1,再取积的纯小数部分乘以2,新得积的整数部分又作下一位的系数k-2,再取其积的纯小数部分继续乘2,…,直到乘积小数部分为0时停止,这时乘积的整数部分是二进制数最低位系数,每次乘积得到的整数序列就是所求的二进制小数,这种方法每次乘以基数取其整数作系数。
所以叫乘基取整法。
需要指出的是并不是所有十进制小数都能转换成有限位的二进制小数并出现乘积的小数部分0的情况,有时整个换算过程会无限进行下去,此时可以根据要求并考虑计算机字长,取一定长度的位数后四舍五入,这时得到的二进制数是原十进制数的近似值。
一个既有整数部分又有小数的数送入计算机后,由机器把整数部分按“除基取余”法,小数部分按“乘基取整”法分别进行转换,然后合并。
任意进制数转换成十进制数:
任意一种进位计数制的数转换成十进制数的方法都是一样的。
把任意进制数按权展开成多项式和的形式,把各位的权与该位上的数码相乘,乘积逐项相加,其和便是相应的十进制数。
十进制数转换成任意进制数:
十进制数转换成任意进制数与十进制数转换成二进制数的方法完全相同,即整数部分用除基取余的算法,小数部分用乘基取整的方法,然后将整数与小数拼接成一个数作为转换的最后结果。
3.数的机器码表示
符号数的机器码表示:
(1)机器数和真值
数在计算机中的表示形式统称为机器数。
机器数有两个基本特点,其一,数的符号数值化。
实用的数据有正数和负数,因为计算机只能表示0、1两种状态,数据的正号“+”或负号“-”,在机器里就用一位二进制的0或1来区别。
通常这个符号放在二进制数的最高位,称符号位,以0代表符号“+”,以1代表符号“-”,这样正负符号就被数值化了。
因为有符号占据一位,数的形式值就不等于真正的数值,带符号位的机器数对应的数值称为机器数的真值。
机器数的另一个特点是二进制的位数受机器设备的限制。
机器内部设备一次能表示的二进制位数叫机器的字长,一台机器的字长是固定的。
字长8位叫一个字节(Byte),现在机器字长一般都是字节的整数倍,如字长8位、16位、32位、64位。
符号位数值化之后,为能方便的对机器数进行算术运算、提高运算速度,计算机设计了多种符号位与数值一起编码的方法,最常用的机器数表示方法有三种:
原码、反码和补码。
(2)原码表示法和反码表示法
一个机器数X由符号位和有效数值两部分组成。
设符号位为X0,X真值的绝对值|X|=X1X2…Xn,X的机器数原码表示为:
[X]原=X0X1X2…Xn
当X≥0时,X0=0
当X<0时,X0=1
原码表示很直观,但原码加减运算时符号位不能视同数值一样参加运算,运算规则复杂,运算时间长,而计算机大量的数据处理工作是加减运算,原码表示就很不方便了。
一个负数的原码符号位不动,其余各位取相反码就是机器数的另一种表示形式———反码表示法。
正数的反码与原码相同。
设[X]原=X0X1X2…Xn
当X0=0时,[X]反=X0X1X2…Xn
当X0=1时,[X]反=X0X1X2…Xn
(3)补码表示法(complement)
设计补码表示法的目的是:
①使符号位能和有效数值部分一起参加数值运算从而简化运算规则,节省运算时间。
②使减法运算转化成加法运算,从而进一步简化计算机中运算器的线路设计。
计算机是一种有限字长的数字系统,因此都是有模运算,超过模的运算结果都将溢出。
n位二进制整数的模是2n。
对于二进制数还有一种更加简单的方法由原码求得补码。
①正数的补码表示与原码一样,[X]补=[X]原
②负数的补码是将原码符号位保持“1”之后其余各位取相反的码,末位加1便得到补码,即取其原码的反码再加1∶[X]补=[X]反+1。
真值+0和-0的补码表示是一致的,但在原码和反码表示中具有不同的形式。
8位补码机器数可以表示-128,但不存在+128的补码,由此可知8位二进制补码能表示数的范围是-128~+127。
应该注意,不存在-128的8位原码和反码形式。
根据互补的概念,一个补码机器数再求一次补就得到机器数的原码了。
定点数与浮点数:
(1)定点数(fixed-pointnumber)
计算机处理的数据不仅有符号,而且大量的数带有小数,小数点不占有二进制位而是隐含有机器数里某固定位置上。
通常采用两种简单的约定:
一种是约定所有机器数的小数点位置隐含在机器数的最低位之后,叫定点纯整数机器数,简称定点整数。
另一种约定是所有机器数的小数点位置隐含在符号位之后、有效数值部分最高位之前,叫定点纯小数机器数,简称定点小数。
计算机采用定点数表示时,对于既有整数又有小数的原始数据,需要设定一个比例因子,数据按比例因子缩小成定点小数或扩大成定点整数再参加运算,结果输出时再按比例折算成实际值。
n位原码定点整数的表示范围是-(2n-1-1)≤X≤2n-1-1,n位原码定点小数的表示范围是-(1-2-(n-1))≤X≤1-2-(n-1)。
当机器数小于定点数的最小值时,被当作0处理,超出定点数的最大值时,机器无法表达,称作“溢出”,此时机器将停止运算,屏幕显示溢出警告。
定点数表示方法简单直观,不过定点数表示数的范围小,不易选择合适的比例因子,运算过程容易产生溢出。
摘自计算机数据表示
1.二进制计数制
引入二进制数字系统的计算机结构和性能具有如下的优点:
(1)技术实现容易。
(2)二进制运算规则简单。
(3)计算机中二进制数的0、1数码与逻辑代数变量值0与1吻合,所以二进制同时可以使计算机方便地进行逻辑运算。
(4)二进制数和十进制数之间的关系亦不复杂。
2.任意进制计数制和十进制计数制的相互转换
十进制数转换成二进制数:
十进制数据转换为二进制数时,因整数部分与小数部分转换算法不同,需要分别进行。
(1)整数转换方法———除基取余法
十进制整数除以2取余数作最低位系数k0,再取商的继续除以2取余数作高一位的系数,如此继续直到商为0时停止,最后一次的余数就是整数部分最高有效位的二进制系数,依次所得到的余数序列就是转换成的二进制数。
因为除数2是二进制的基数,所以这种算法称作“除基取余”法。
(2)小数转换方法———乘基取整法
把十进制小数乘以2,取其积的整数部分作为对应二进制小数的最高位系数k-1,再取积的纯小数部分乘以2,新得积的整数部分又作下一位的系数k-2,再取其积的纯小数部分继续乘2,…,直到乘积小数部分为0时停止,这时乘积的整数部分是二进制数最低位系数,每次乘积得到的整数序列就是所求的二进制小数,这种方法每次乘以基数取其整数作系数。
所以叫乘基取整法。
需要指出的是并不是所有十进制小数都能转换成有限位的二进制小数并出现乘积的小数部分0的情况,有时整个换算过程会无限进行下去,此时可以根据要求并考虑计算机字长,取一定长度的位数后四舍五入,这时得到的二进制数是原十进制数的近似值。
一个既有整数部分又有小数的数送入计算机后,由机器把整数部分按“除基取余”法,小数部分按“乘基取整”法分别进行转换,然后合并。
任意进制数转换成十进制数:
任意一种进位计数制的数转换成十进制数的方法都是一样的。
把任意进制数按权展开成多项式和的形式,把各位的权与该位上的数码相乘,乘积逐项相加,其和便是相应的十进制数。
十进制数转换成任意进制数:
十进制数转换成任意进制数与十进制数转换成二进制数的方法完全相同,即整数部分用除基取余的算法,小数部分用乘基取整的方法,然后将整数与小数拼接成一个数作为转换的最后结果。
3.数的机器码表示
符号数的机器码表示:
(1)机器数和真值
数在计算机中的表示形式统称为机器数。
机器数有两个基本特点,其一,数的符号数值化。
实用的数据有正数和负数,因为计算机只能表示0、1两种状态,数据的正号“+”或负号“-”,在机器里就用一位二进制的0或1来区别。
通常这个符号放在二进制数的最高位,称符号位,以0代表符号“+”,以1代表符号“-”,这样正负符号就被数值化了。
因为有符号占据一位,数的形式值就不等于真正的数值,带符号位的机器数对应的数值称为机器数的真值。
机器数的另一个特点是二进制的位数受机器设备的限制。
机器内部设备一次能表示的二进制位数叫机器的字长,一台机器的字长是固定的。
字长8位叫一个字节(Byte),现在机器字长一般都是字节的整数倍,如字长8位、16位、32位、64位。
符号位数值化之后,为能方便的对机器数进行算术运算、提高运算速度,计算机设计了多种符号位与数值一起编码的方法,最常用的机器数表示方法有三种:
原码、反码和补码。
(2)原码表示法和反码表示法
一个机器数X由符号位和有效数值两部分组成。
设符号位为X0,X真值的绝对值|X|=X1X2…Xn,X的机器数原码表示为:
[X]原=X0X1X2…Xn
当X≥0时,X0=0
当X<0时,X0=1
原码表示很直观,但原码加减运算时符号位不能视同数值一样参加运算,运算规则复杂,运算时间长,而计算机大量的数据处理工作是加减运算,原码表示就很不方便了。
一个负数的原码符号位不动,其余各位取相反码就是机器数的另一种表示形式———反码表示法。
正数的反码与原码相同。
设[X]原=X0X1X2…Xn
当X0=0时,[X]反=X0X1X2…Xn
当X0=1时,[X]反=X0X1X2…Xn
(3)补码表示法(complement)
设计补码表示法的目的是:
①使符号位能和有效数值部分一起参加数值运算从而简化运算规则,节省运算时间。
②使减法运算转化成加法运算,从而进一步简化计算机中运算器的线路设计。
计算机是一种有限字长的数字系统,因此都是有模运算,超过模的运算结果都将溢出。
n位二进制整数的模是2n。
对于二进制数还有一种更加简单的方法由原码求得补码。
①正数的补码表示与原码一样,[X]补=[X]原
②负数的补码是将原码符号位保持“1”之后其余各位取相反的码,末位加1便得到补码,即取其原码的反码再加1∶[X]补=[X]反+1。
真值+0和-0的补码表示是一致的,但在原码和反码表示中具有不同的形式。
8位补码机器数可以表示-128,但不存在+128的补码,由此可知8位二进制补码能表示数的范围是-128~+127。
应该注意,不存在-128的8位原码和反码形式。
根据互补的概念,一个补码机器数再求一次补就得到机器数的原码了。
定点数与浮点数:
(1)定点数(fixed-pointnumber)
计算机处理的数据不仅有符号,而且大量的数带有小数,小数点不占有二进制位而是隐含有机器数里某固定位置上。
通常采用两种简单的约定:
一种是约定所有机器数的小数点位置隐含在机器数的最低位之后,叫定点纯整数机器数,简称定点整数。
另一种约定是所有机器数的小数点位置隐含在符号位之后、有效数值部分最高位之前,叫定点纯小数机器数,简称定点小数。
计算机采用定点数表示时,对于既有整数又有小数的原始数据,需要设定一个比例因子,数据按比例因子缩小成定点小数或扩大成定点整数再参加运算,结果输出时再按比例折算成实际值。
n位原码定点整数的表示范围是-(2n-1-1)≤X≤2n-1-1,n位原码定点小数的表示范围是-(1-2-(n-1))≤X≤1-2-(n-1)。
当机器数小于定点数的最小值时,被当作0处理,超出定点数的最大值时,机器无法表达,称作“溢出”,此时机器将停止运算,屏幕显示溢出警告。
定点数表示方法简单直观,不过定点数表示数的范围小,不易选择合适的比例因子,运算过程容易产生溢出。
计算机数据表示
1.二进制计数制
引入二进制数字系统的计算机结构和性能具有如下的优点:
(1)技术实现容易。
(2)二进制运算规则简单。
(3)计算机中二进制数的0、1数码与逻辑代数变量值0与1吻合,所以二进制同时可以使计算机方便地进行逻辑运算。
(4)二进制数和十进制数之间的关系亦不复杂。
2.任意进制计数制和十进制计数制的相互转换
十进制数转换成二进制数:
十进制数据转换为二进制数时,因整数部分与小数部分转换算法不同,需要分别进行。
(1)整数转换方法———除基取余法
十进制整数除以2取余数作最低位系数k0,再取商的继续除以2取余数作高一位的系数,如此继续直到商为0时停止,最后一次的余数就是整数部分最高有效位的二进制系数,依次所得到的余数序列就是转换成的二进制数。
因为除数2是二进制的基数,所以这种算法称作“除基取余”法。
(2)小数转换方法———乘基取整法
把十进制小数乘以2,取其积的整数部分作为对应二进制小数的最高位系数k-1,再取积的纯小数部分乘以2,新得积的整数部分又作下一位的系数k-2,再取其积的纯小数部分继续乘2,…,直到乘积小数部分为0时停止,这时乘积的整数部分是二进制数最低位系数,每次乘积得到的整数序列就是所求的二进制小数,这种方法每次乘以基数取其整数作系数。
所以叫乘基取整法。
需要指出的是并不是所有十进制小数都能转换成有限位的二进制小数并出现乘积的小数部分0的情况,有时整个换算过程会无限进行下去,此时可以根据要求并考虑计算机字长,取一定长度的位数后四舍五入,这时得到的二进制数是原十进制数的近似值。
一个既有整数部分又有小数的数送入计算机后,由机器把整数部分按“除基取余”法,小数部分按“乘基取整”法分别进行转换,然后合并。
任意进制数转换成十进制数:
任意一种进位计数制的数转换成十进制数的方法都是一样的。
把任意进制数按权展开成多项式和的形式,把各位的权与该位上的数码相乘,乘积逐项相加,其和便是相应的十进制数。
十进制数转换成任意进制数:
十进制数转换成任意进制数与十进制数转换成二进制数的方法完全相同,即整数部分用除基取余的算法,小数部分用乘基取整的方法,然后将整数与小数拼接成一个数作为转换的最后结果。
3.数的机器码表示
符号数的机器码表示:
(1)机器数和真值
数在计算机中的表示形式统称为机器数。
机器数有两个基本特点,其一,数的符号数值化。
实用的数据有正数和负数,因为计算机只能表示0、1两种状态,数据的正号“+”或负号“-”,在机器里就用一位二进制的0或1来区别。
通常这个符号放在二进制数的最高位,称符号位,以0代表符号“+”,以1代表符号“-”,这样正负符号就被数值化了。
因为有符号占据一位,数的形式值就不等于真正的数值,带符号位的机器数对应的数值称为机器数的真值。
机器数的另一个特点是二进制的位数受机器设备的限制。
机器内部设备一次能表示的二进制位数叫机器的字长,一台机器的字长是固定的。
字长8位叫一个字节(Byte),现在机器字长一般都是字节的整数倍,如字长8位、16位、32位、64位。
符号位数值化之后,为能方便的对机器数进行算术运算、提高运算速度,计算机设计了多种符号位与数值一起编码的方法,最常用的机器数表示方法有三种:
原码、反码和补码。
(2)原码表示法和反码表示法
一个机器数X由符号位和有效数值两部分组成。
设符号位为X0,X真值的绝对值|X|=X1X2…Xn,X的机器数原码表示为:
[X]原=X0X1X2…Xn
当X≥0时,X0=0
当X<0时,X0=1
原码表示很直观,但原码加减运算时符号位不能视同数值一样参加运算,运算规则复杂,运算时间长,而计算机大量的数据处理工作是加减运算,原码表示就很不方便了。
一个负数的原码符号位不动,其余各位取相反码就是机器数的另一种表示形式———反码表示法。
正数的反码与原码相同。
设[X]原=X0X1X2…Xn
当X0=0时,[X]反=X0X1X2…Xn
当X0=1时,[X]反=X0X1X2…Xn
(3)补码表示法(complement)
设计补码表示法的目的是:
①使符号位能和有效数值部分一起参加数值运算从而简化运算规则,节省运算时间。
②使减法运算转化成加法运算,从而进一步简化计算机中运算器的线路设计。
计算机是一种有限字长的数字系统,因此都是有模运算,超过模的运算结果都将溢出。
n位二进制整数的模是2n。
对于二进制数还有一种更加简单的方法由原码求得补码。
①正数的补码表示与原码一样,[X]补=[X]原
②负数的补码是将原码符号位保持“1”之后其余各位取相反的码,末位加1便得到补码,即取其原码的反码再加1∶[X]补=[X]反+1。
真值+0和-0的补码表示是一致的,但在原码和反码表示中具有不同的形式。
8位补码机器数可以表示-128,但不存在+128的补码,由此可知8位二进制补码能表示数的范围是-128~+127。
应该注意,不存在-128的8位原码和反码形式。
根据互补的概念,一个补码机器数再求一次补就得到机器数的原码了。
定点数与浮点数:
(1)定点数(fixed-pointnumber)
计算机处理的数据不仅有符号,而且大量的数带有小数,小数点不占有二进制位而是隐含有机器数里某固定位置上。
通常采用两种简单的约定:
一种是约定所有机器数的小数点位置隐含在机器数的最低位之后,叫定点纯整数机器数,简称定点整数。
另一种约定是所有机器数的小数点位置隐含在符号位之后、有效数值部分最高位之前,叫定点纯小数机器数,简称定点小数。
计算机采用定点数表示时,对于既有整数又有小数的原始数据,需要设定一个比例因子,数据按比例因子缩小成定点小数或扩大成定点整数再参加运算,结果输出时再按比例折算成实际值。
n位原码定点整数的表示范围是-(2n-1-1)≤X≤2n-1-1,n位原码定点小数的表示范围是-(1-2-(n-1))≤X≤1-2-(n-1)。
当机器数小于定点数的最小值时,被当作0处理,超出定点数的最大值时,机器无法表达,称作“溢出”,此时机器将停止运算,屏幕显示溢出警告。
定点数表示方法简单直观,不过定点数表示数的范围小,不易选择合适的比例因子,运算过程容易产生溢出。
摘自计算机数据表示
1.二进制计数制
引入二进制数字系统的计算机结构和性能具有如下的优点:
(1)技术实现容易。
(2)二进制运算规则简单。
(3)计算机中二进制数的0、1数码与逻辑代数变量值0与1吻合,所以二进制同时可以使计算机方便地进行逻辑运算。
(4)二进制数和十进制数之间的关系亦不复杂。
2.任意进制计数制和十进制计数制的相互转换
十进制数转换成二进制数:
十进制数据转换为二进制数时,因整数部分与小数部分转换算法不同,需要分别进行。
(1)整数转换方法———除基取余法
十进制整数除以2取余数作最低位系数k0,再取商的继续除以2取余数作高一位的系数,如此继续直到商为0时停止,最后一次的余数就是整数部分最高有效位的二进制系数,依次所得到的余数序列就是转换成的二进制数。
因为除数2是二进制的基数,所以这种算法称作“除基取余”法。
(2)小数转换方法———乘基取整法
把十进制小数乘以2,取其积的整数部分作为对应二进制小数的最高位系数k-1,再取积的纯小数部分乘以2,新得积的整数部分又作下一位的系数k-2,再取其积的纯小数部分继续乘2,…,直到乘积小数部分为0时停止,这时乘积的整数部分是二进制数最低位系数,每次乘积得到的整数序列就是所求的二进制小数,这种方法每次乘以基数取其整数作系数。
所以叫乘基取整法。
需要指出的是并不是所有十进制小数都能转换成有限位的二进制小数并出现乘积的小数部分0的情况,有时整个换算过程会无限进行下去,此时可以根据要求并考虑计算机字长,取一定长度的位数后四舍五入,这时得到的二进制数是原十进制数的近似值。
一个既有整数部分又有小数的数送入计算机后,由机器把整数部分按“除基取余”法,小数部分按“乘基取整”法分别进行转换,然后合并。
任意进制数转换成十进制数:
任意一种进位计数制的数转换成十进制数的方法都是一样的。
把任意进制数按权展开成多项式和的形式,把各位的权与该位上的数码相乘,乘积逐项相加,其和便是相应的十进制数。
十进制数转换成任意进制数:
十进制数转换成任意进制数与十进制数转换成二进制数的方法完全相同,即整数部分用除基取余的算法,小数部分用乘基取整的方法,然后将整数与小数拼接成一个数作为转换的最后结果。
3.数的机器码表示
符号数的机器码表示:
(1)机器数和真值
数在计算机中的表示形式统称为机器数。
机器数有两个基本特点,其一,数的符号数值化。
实用的数据有正数和负数,因为计算机只能表示0、1两种状态,数据的正号“+”或负号“-”,在机器里就用一位二进制的0或1来区别。
通常这个符号放在二进制数的最高位,称符号位,以0代表符号“+”,以1代表符号“-”,这样正负符号就被数值化了。
因为有符号占据一位,数的形式值就不等于真正的数值,带符号位的机器数对应的数值称为机器数的真值。
机器数的另一个特点是二进制的位数受机器设备的限制。
机器内部设备一次能表示的二进制位数叫机器的字长,一台机器的字长是固定的。
字长8位叫一个字节(Byte),现在机器字长一般都是字节的整数倍,如字长8位、16位、32位、64位。
符号位数值化之后,为能方便的对机器数进行算术运算、提高运算速度,计算机设计了多种符号位与数值一起编码的方法,最常用的机器数表示方法有三种:
原码、反码和补码。
(2)原码表示法和反码表示法
一个机器数X由符号位和有效数值两部分组成。
设符号位为X0,X真值的绝对值|X|=X1X2…Xn,X的机器数原码表示为:
[X]原=X0X1X2…Xn
当X≥0时,X0=0
当X<0时,X0=1
原码表示很直观,但原码加减运算时符号位不能视同数值一样参加运算,运算规则复杂,运算时间长,而计算机大量的数据处理工作是加减运算,原码表示就很不方便了。
一个负数的原码符号位不动,其余各位取相反码就是机器数的另一种表示形式———反码表示法。
正数的反码与原码相同。
设[X]原=X0X1X2…Xn
当X0=0时,[X]反=X0X1X2…Xn
当X0=1时,[X]反=X0X1X2…Xn
(3)补码表示法(complement)
设计补码表示法的目的是:
①使符号位能和有效数值部分一起参加数值运算从而简化运算规则,节省运算时间。
②使减法运算转化成加法运算,从而进一步简化计算机中运算器的线路设计。
计算机是一种有限字长的数字系统,因此都是有模运算,超过模的运算结果都将溢出。
n位二进制整数的模是2n。
对于二进制数还有一种更加简单的方法由原码求得补码。
①正数的补码表示与原码一样,[X]补=[X]原
②负数的补码是将原码符号位保持“1”之后其余各位取相反的码,末位加1便得到补码,即取其原码的反码再加1∶[X]补=[X]反+1。
真值+0和-0的补码表示是一致的,但在原码和反码表示中具有不同的形式。
8位补码机器数可以表示-128,但不存在+128的补码,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 数据 反码 补码