真值和机器数概念

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

概念补充

1.计算机的主要功能:数值处理信息处理信息存储。对数值的运

算、处理和存储,要通过数字逻辑电路完成,而数字逻辑电路只处理二进制数据代码,因此计算机中数据信息表示方法,存储方式要用到计算机中的进位计数制。由此牵扯出本章中各种进位计数制的概念、运算、和相互转换,并进而研究各类数据通过进位计数制(一套表示数值大小的方法)在计算机中的表示和存储2.真值和机器数概念补充:一个数在计算机中的二进制表示形式, 叫做这个数的

机器数。机器数是带符号的,在计算机用一个数的最高位存放符号, 正数为0, 负数为

1.比如,十进制中的数+3 ,计算机字长为8位,转换成二进制就是00000011。如

果是-3 ,就是10000011 。那么,这里的00000011 和10000011 就是机器数。因为第一位是符号位,所以机器数的形式值就不等于真正的数值。例如上面的有符号数10000011,其最高位1代表负,其真正数值是-3 而不是形式值131

(10000011转换成十进制等于131)。所以,为区别起见,将带符号位的机器数对应的真正数值称为机器数的真值。例:0000 0001的真值= +000 0001 = +1,1000 0001的真值= –000 0001 = –1简单说,计算机中二进制数据要用0 1表示大小和正负,一般将最高位作为符号位,0表示正号,1表示负号,其余位表示数值大小。这种在计算机内部将正负号数字化后得到的数称为机器数,而在计算机外部用正负号表示的实际数值,称为机器数表示的真值

3.原码反码补码:参见课本P35 为了便于对已机器数形式存放的数据进行数据运

算,机器数一般有三种表示方法原码反码补码

1)原码:以最简单的表示法,原码就是符号位加上真值的绝对值, 即用第一位表

示符号, 其余位表示值. 比如如果是8位二进制: [+1]原 = 0000 0001 [-1]原 = 1000 0001第一位是符号位. 因为第一位是符号位, 所以8位二进制数的取值范围就是:[1111 1111 , 0111 1111]即[-127 , 127]原码是人脑最容易理解和计算的表示方式.

2)反码:反码的表示方法是:正数的反码是其本身负数的反码是在其原码的基础上, 符

号位不变,其余各个位取反.[+1] = [00000001]原 = [00000001]反[-1] =

[10000001]原 = [11111110]反可见如果一个反码表示的是负数, 人脑无法直观的看出来它的数值. 通常要将其转换成原码再计算.简单说,由原码得反码机器数为正时,二者相同。负时,符号位(表示正负号的那一位)不变,其余数值位全部按位取反3)补码:补码的表示方法是: 正数的补码就是其本身负数的补码是在其原码的基础上,

符号位不变, 其余各位取反, 最后+1. (即在反码的基础上+1) [+1] = [00000001]原 = [00000001]反 = [00000001]补[-1] = [10000001]原 = [11111110]反 = [11111111]补对于负数, 补码表示方式也是人脑无法直观看出其数值的. 通常也需要转换成原码在计算其数值.简单说,正数时原补相同,负数时,符号位(表示正负号的那一位)不变,其余数值位全部按位取反后再加一。所以说,负数的补码就等于该数的反码加一。具体运算课本上有例子P36

总结:计算机可以有三种编码方式表示一个数. 对于正数因为三种编码方式的结果都相同: [+1] = [00000001]原 = [00000001]反 = [00000001]补

所以不需要过多解释. 但是对于负数:

[-1] = [10000001]原 = [11111110]反 = [11111111]补

以上为个人见解因时间有限研究未深,只可浅尝辄止,与你所问无关的没有列出,需要的再问兰姐加油期末高分

相关文档
最新文档