
真值和机器数概念.docx
3页进位计数制非进位计数制进位计数制基数数位三个要素进位计数制位权二进制的运算基本逻辑运算逻辑或运算逻辑运算复合逻辑运算逻辑非运算真值和机器数定点数和浮点数机器数的一种简单表示法原码原码反码和补码很容易从原码得到反码补码辑与运算(逻辑乘)数制(计数制)非数值型数据在计算 机中的表示机器数:计算机内部将正负号数字化后得到的数真值:计算机外部用正负号表示的实际数值常用进位计数制间的 相互转换数值型数据在十算机 中的表示同样为机器数的表示方法可有 源码得到数据在计算机中的 存储计算机中信息的表示 与存储通常为这种包括二进 制十、十二、十六、二十四、六十等算术运算(加、减乘 除)概念补充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位二进制:[+11 = 0000 0001 [-11 =原 原1000 0001第一位是符号位.因为第一位是符号位,所以8位二进制数的取值范围就 是:[1111 1111 , 0111 1111]即[-127 , 127]原码是人脑最容易理解和计算的表示 方式.2) 反码:反码的表示方法是:正数的反码是其本身负数的反码是在其原码的基础上,符号位不变,其余各个位取反.[+1] = [000000011 = [000000011 [-1]=原 反[10000001] = [11111110]可见如果一个反码表示的是负数,人脑无法直观的看原 反出来它的数值.通常要将其转换成原码再计算■简单说,由原码得反码机器数为正时,二者相同。
负时,符号位(表示正负号的那一位)不变,其余数值位全部按位取反3)补码:补码的表示方法是:正数的补码就是其本身负数的补码是在其原码的基础上,符号位不变,其余各位取反,最后+ 1.(即在反码的基础上+1) [+1] = [00000001]=[00000001] = [00000001] [-1] = [10000001] = [11111110]=原 反 补 原 反[11111111]对于负数,补码表示方式也是人脑无法直观看出其数值的.通常也需要 补转换成原码在计算其数值■简单说,正数时原补相同,负数时,符号位(表示正负号的那一位)不变,其余数值位全部按位取反后再加一所以说,负数的补码就等于该数的反码加一具体运算课本上有例子P36总结:计算机可以有三种编码方式表示一个数.对于正数因为三种编码方式的结果都相同:[+1] = [00000001] = [00000001] = [00000001]原 反 补所以不需要过多解释.但是对于负数:[-1] = [10000001] = [11111110] = [11111111]原 反 补以上为个人见解因时间有限研究未深,只可浅尝辄止,与你所问无关的没有列出,需要的再 问兰姐加油期末高分。
