@[toc](【计算机组成原理】第二章·数据的表示和运算)
1.数制与编码
1.1 进位计数制及其相互转换
十进制转换为二进制:整数部分除基取余,小数部分乘基取整(在计算机即二进制中,整数部分是连续的,任何整数都可以用二进制表示,而小数部分是离散的,并非所有小数均可转换成二进制)
计算机使用二进制有如下好处:
1.可以使用两个稳定状态的物理器件表示0/1
2.0/1对应假/真,方便实现逻辑运算
3.可以通过逻辑门电路实现算术运算
1.2 定点数的编码表示
1.2.1 机器数的定点表示
1.无符号数:n位无符号数的表示范围为。0~(2^ n)-1
2.有符号数:计算机根据小数点是否固定将有符号数分为定点数和浮点数,其中定点数中,整数部分和小数部分分别用定点整数和定点小数表示。
定点整数:小数点位位于有效数值部分最低位之后,表示形式为X=x0x1x2x3x4···xn(x0为符号位,x1~xn为尾数,xn为最低有效位)
定点小数:小数点位于符号位之后,有效数值最高位之前,表示形式为X=x0.x1x2x3x4···xn(x0为符号位,x1~xn是数值的有效部分,x1为最高有效位)
1.2.2 原码反码和补码
1.原码表示法
用尾数表示真值的绝对值,符号位0/1分别代表+/-
若字长为n+1,原码小数的表示范围为-(1-2^-n )<=x<=1-2^-n (关于原点对称);原码整数的表示范围为-(2^n -1)<=x<=2^n -1
注意:0的原码表示有+0和-0两种,且正数的原码反码补码相同。
原码的优点在于与真值对应关系简单,且便于乘除运算,缺点是0的表示不唯一,且加减运算复杂
2.反码表示法
负数的反码由原码尾数取反得到
反码表示法中0同样不唯一,表示范围比补码少一个最小负数;反码通常用作数码转换的中间形式
3.补码表示法
对于负数而言,其补码的表示形式为反码+1,由[x]补求[-x]补的方法为连同符号位取反,末尾+1,在模二补码下,两数补码之和等于两数之和的补码
若字长为n+1,整数补码的范围为[-2^n, 2^n -1],小数补码的范围为[-1,1-2^-n]
(模4补码,即双符号补码,符号位00表示+,11表示-,第一位表示原符号位,第二位表示实际运算符号位)
补码表示法适合加减运算
4.移码表示法
移码用于表示浮点数的阶码,只能用于表示整数,移码表示为真值X加上偏置值,在偏置值为2^n-1(n为机器字长)的时候,移码可以表示为对补码的符号位取反得到,移码越大,真值越大。
2.运算方法和运算电路
2.0逻辑门电路
基本逻辑运算: