2.3 数值数据的表示

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
[X]反= (2-2-n)+x
0 ≤x < 1 -1<x ≤0
其中x为真值,n为小数的位数
(mod 2-2-n )
例如: 当x=+0.0110时, [x]反=0. 0110 当x=−0.0110时, [x]反=(2−2-4)+x=1.1111−0.0110=1. 1001
河南科技大学
反码
明德
博学
日新
笃行
1. 编码原则: 如果有位向量[x ω -1 , x ω -2 , … , x2 , x1 , x0],则在无符
号编码中它的十进制值为:
例如:对于无符号编码[0101],它对应的十进制数就是5
河南科技大学
无符号数的编码
明德
博学
日新
笃行
2. 取值范围: ω位无符号数所能表示的值的范围, 最小值是用位向量
河南科技大学
补码
明德
博学
日新
笃行
2. 小数补码定义 x
[X]补源自文库 2+x = 2-|x|
其中x为真值
0 ≤x < 1 -1 ≤ x ≤0
(mod 2)
例如: 当x=0.1001时, [x]补=0.1001 当x=-0.0110时, [x]补=2+x=10.0000-0.0110=1.1010
河南科技大学
[00…0]表示, 也就是整数值0, 而最大值是用位向量[11…1] 表示。 3. 结论
无符号的二进制对于任意一个ω位的二进制序列,都存在唯 一一个介于0 到 2 ω -1之间整数与这个二进制序列对应。反过 来,在0 到 2 ω -1之间的每一个整数都存在唯一的二进制序列 与其对应。
河南科技大学
有符号数的编码
河南科技大学
补码
明德
博学
日新
笃行
1. 整数补码定义 x
[X]补= 2n+1+x = 2n+1-|x|
0 ≤x ≤2n-1 (mod 2n+1)
-2n ≤ x ≤0
其中x为真值,n为整数的位数
例如: 当x=+1010时,[x]补=0 1010 当x=-1101时, [x]补=2n+1+x=100000-1101=1 0011
补码
明德
博学
日新
笃行
3. 编码规则: 正号用0表示,符号用1表示; 对于正数,数值部分保持不变;对于负数,数值部分按
位取反末尾加1。
例如: 当x=+1010时, [x]补=01010 当x=−0.1001时, [x]补=1.0110+0.0001=1.0111
河南科技大学
补码
明德
博学
日新
笃行
4. 特别说明: 1)当x=0时 [+0.0000]补=0.0000 [-0.0000]补=2+(-0.0000)=10.0000-0.0000=0.0000 即补码中的“零”只有一种表示形式 2)对于小数,当x=-1时,根据小数补码定义: [-1]补=2+x=10.0000-1.0000=1.0000 -1本不属于小数的范围, 但是却有[-1]补存在。
笃行
1. 整数原码定义 [X]原=
x 2n-x = 2n+|x|
其中x为真值,n为整数的位数
0 ≤x ≤2n-1 -2n<x ≤0
例如: 当x=+1110时, [x]原=01110 当x=−1110时, [x]原=24− (−1110)=11110
河南科技大学
原码
明德
博学
日新
笃行
2. 小数原码定义 [X]原=
[X]反= (2n+1-1)+x
0 ≤x < 2n -2n<x ≤0
其中x为真值,n为整数的位数
(mod 2n+1-1 )
例如: 当x=+1101时, [x]反=0 1101 当x=−1101时, [x]反=(24+1−1)-x=11111−1101=1 0010
河南科技大学
反码
明德
博学
日新
笃行
2. 小数反码定义 x
计算机
组成原理
河南科技大学
2.3
数值数据的表示
数值数据
明德
博学
日新
笃行
在计算机中参与运算的数值数据有两大类:
1. 无符号数 就是没有符号的数,整个机器字长的全部二进制位均表 示数值位(没有符号位),这种数相当于数的绝对值。
2. 有符号数 带有正负符号的数。
河南科技大学
无符号数的编码
明德
博学
日新
河南科技大学
补码
明德
博学
日新
笃行
5. 常用的求补码的方法:
1) 由定义求补码
由真值求补码,直接利用补码的定义。反过来,由补
码求真值,只需将公式左右进行交换就可以了
2)由原码求补码
正数的补码和原码相同;
负数的补码,将原码除符号位以外的其余各位求反,
末位加1。
3)求负数补码的简便原则
可以将原码除符号位以外,其余各位按位取反,从最低位
例如:
当x=+1010时, [x]原=01010
当x=−0.1001时, [x]原=1.1001
当x=0时, [+0.0000]原=0.0000
[−0.0000]原=1.0000
说明: [+0]原不等于[−0]原,即原码中的“零”有两种表
示形式。
河南科技大学
反码
明德
博学
日新
笃行
1. 整数反码定义 x
x 1-x = 1+|x|
其中x为真值, n为小数的位数
0 ≤x < 1 -1<x ≤0
例如: 当x=+0.1101时, [x]原=0.1101 当x=−0.1101时, [x]原=1− (−0.1101)=1.1101
河南科技大学
原码
明德
博学
日新
笃行
3. 编码规则: 正号用0表示,符号用1表示,数值部分保持不变。
明德
博学
日新
笃行
对于有符号数而言,正负符号“+”和“-”,机器是无 法识别的,这就需要把正负符号“数字化”。一旦符号数字 化后, 符号和数值就形成了一种新的编码。
通常我们把带有正负符号的数成为真值,把符号“数字 化”的数成为机器数。
常见的机器数有:原码、反码、补码和移码。
河南科技大学
原码
明德
博学
日新
笃行
3. 编码规则: 正号用0表示,负号用1表示; 正数的数值部分保持不变,负数的数值部分按位取反。
例如: 当x=+1010时, [x]反=01010 当x=−0.1001时, [x]反=1.0110 当x=0时, [+0.0000]反=0.0000
[−0.0000]反=1.1111 说明: 反码中的“零”有两种表示形式。
开始遇到的第一个1以前的各位保持不变。
河南科技大学
相关文档
最新文档