914353-大学计算机-2-2 数值型数据的表示
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.2 数值型数据的表示
CONTENTS
目录
1
机器数的范围
2
机器数的符号
3
编码方法
4
小数点的位置
自然界中的数
实数全部都能够转换为小数形式。所以探讨 计算机中数的表示,主要探讨小数的表示。
计算机中数值数据如何表示?
在计算机内将数值型数据全面、完整地表示 成一个二进制数(机器数),应该考虑四个 因素: •机器数的范围 •机器数的符号 •编码方法 •机器数中小数点的位置
例:(+57)补码= 00111001
正数的补码与其原码相同
(-57)补码= 11000111
负数的补码等于其反码的末位加1
3.编码方法
•引入补码的意义
▫ 可以把减法运算变成加法运算。乘法可以用加法来做, 除法可以转变成减法。这样一来,加、减、乘、除4 种运算“九九归一”了。
▫ 这对简化CPU的设计非常有意义,CPU里面只要有一 个加法器就可以实现所有的算术运算了。
0.6637×102、-0.6637×101、 0.6637×100、-0.6637×10-1 二进制数也可以科学计数法呀!
•式中的N、P、S 均为二进制数。 •S 称为N 的尾数,即全部的有效数字(数值小于1),S前面的± 号是尾数的符号 •P 称为N 的阶码(通常是整数),指明小数点的实际位置,P前面 的±号是阶码的符号。
定点小数小数点的位置约定在符号位之后,用来表示 小于1的纯小数
0 00010 01 h
1h1 0 1 1 0 0 0
符号位
数值部分 小数点位置 符号位 小数点位置 数值部分
机器内的定点整数
机器内的定点小数
4.小数点位置
浮点数 关键点:小数点位置隐含且可以变动
一个二进制数N可以表示为:还记得科学计数法吗?
4.小数点位置
思考: • 浮点表示法可扩大数表示的范围,这 是为什么? • 对于一定字长的浮点数,如果想扩大 表示数的范围,应该如何做? • 对于一定字长的浮点数,如果想提高 表示数的精度,应该如何做?
1.机器数的范围
•机器数的表示范围由硬件(CPU中的寄存器)决定。
▫ 8位寄存器,字长为8 位。
▫ 一个8位无符Biblioteka Baidu整数的最小值是:
0
0
0
0
0
0
0
0
(00000000)2=0 ▫ 一个8位无符号整数的最大值是:
1
1
1
1
1
1
1
1
(11111111)2=255
▫ 此时机器数的范围为0~255
1.机器数的范围
(96-38)补码 =(96)补码+(-38)补码 = 0110 0000+1101 1010 = 0011 1010 =(+58)真值
0110 0000 +1101 1010 0011 1010
向高位的进位舍去
3.编码方法
例:通过补码计算27-85的值。
(27)原码=0001 1011 (27)补码=0001 1011 (-85)原码=1101 0101 (-85)补码=1010 1011
▫ 反码则是计算补码的一个中间步骤,原码转变为反码, 在计算机硬件上很容易实现,所以用反码作为过渡, 很容易得到补码。
3.编码方法
例:通过补码计算96-38值。
(96)原码=0110 0000 (96)补码=0110 0000 (-38)原码=1010 0110 (-38)补码=1101 1010
3.编码方法
•反码编码:
▫ 表示正数的方法与原码相同;表示负数时,将二进制 数除符号位之外按位求反。
例:(+57)反码= 00111001
正数的反码与其原码相同
(-57)反码= 11000110
负数的反码等于其原码的符号位不变,数值位 按位取反
3.编码方法
•补码编码:
▫ 一个正数的补码与其原码相同;一个负数的补码,等 于其原码的符号位不变,数值位按位取反,再在末位 加1。
•机器数的表示范围由硬件(CPU中的寄存器)决定。
▫ 16位寄存器,字长为16 位。 ▫ 一个16位无符号整数的最小值是:
0000000000000000
(0000000000000000)2=0 ▫ 一个16位无符号整数的最大值是:
1111111111111111
(1111111111111111)2=65535 ▫ 此时机器数的范围为0~65535
4.小数点位置
计算机中如何表示浮点数?
在计算机中一般浮点数的存放形式如下图所示。
在浮点数表示中,尾数的符号和阶码的符号各占一位,阶码 是定点整数,阶码的位数决定了所表示数的范围,尾数是定 点小数,尾数的位数决定了数的精度。例如:
1 11 1 1 0 1 1
阶符 阶码 尾符
尾数
上图表示的是: -0.1011×2-11
(27-85)补码 =(27)补码+(-85)补码 = 0001 1011+1010 1011
= 1100 0110
=(-58)真值
0001 1011 +1010 1011 1100 0110
4.小数点位置
定点数 关键点:小数点位置隐含且固定不动
定点整数小数点的位置约定在最低位的右边,用来表 示整数
2.机器数的符号
•规定机器数的最高位为符号位
(-7)10=(10000111)2
3.编码方法
•原码编码:
▫ 在最高位用0和1分别表示正负数,其他位直接表示二 进制数值的方法
例:(+57)原码=00111001
正数的原码的符号位为0,数值位补足7位
(-57)原码=10111001
负数的原码的符号位为1,数值位补足7位
CONTENTS
目录
1
机器数的范围
2
机器数的符号
3
编码方法
4
小数点的位置
自然界中的数
实数全部都能够转换为小数形式。所以探讨 计算机中数的表示,主要探讨小数的表示。
计算机中数值数据如何表示?
在计算机内将数值型数据全面、完整地表示 成一个二进制数(机器数),应该考虑四个 因素: •机器数的范围 •机器数的符号 •编码方法 •机器数中小数点的位置
例:(+57)补码= 00111001
正数的补码与其原码相同
(-57)补码= 11000111
负数的补码等于其反码的末位加1
3.编码方法
•引入补码的意义
▫ 可以把减法运算变成加法运算。乘法可以用加法来做, 除法可以转变成减法。这样一来,加、减、乘、除4 种运算“九九归一”了。
▫ 这对简化CPU的设计非常有意义,CPU里面只要有一 个加法器就可以实现所有的算术运算了。
0.6637×102、-0.6637×101、 0.6637×100、-0.6637×10-1 二进制数也可以科学计数法呀!
•式中的N、P、S 均为二进制数。 •S 称为N 的尾数,即全部的有效数字(数值小于1),S前面的± 号是尾数的符号 •P 称为N 的阶码(通常是整数),指明小数点的实际位置,P前面 的±号是阶码的符号。
定点小数小数点的位置约定在符号位之后,用来表示 小于1的纯小数
0 00010 01 h
1h1 0 1 1 0 0 0
符号位
数值部分 小数点位置 符号位 小数点位置 数值部分
机器内的定点整数
机器内的定点小数
4.小数点位置
浮点数 关键点:小数点位置隐含且可以变动
一个二进制数N可以表示为:还记得科学计数法吗?
4.小数点位置
思考: • 浮点表示法可扩大数表示的范围,这 是为什么? • 对于一定字长的浮点数,如果想扩大 表示数的范围,应该如何做? • 对于一定字长的浮点数,如果想提高 表示数的精度,应该如何做?
1.机器数的范围
•机器数的表示范围由硬件(CPU中的寄存器)决定。
▫ 8位寄存器,字长为8 位。
▫ 一个8位无符Biblioteka Baidu整数的最小值是:
0
0
0
0
0
0
0
0
(00000000)2=0 ▫ 一个8位无符号整数的最大值是:
1
1
1
1
1
1
1
1
(11111111)2=255
▫ 此时机器数的范围为0~255
1.机器数的范围
(96-38)补码 =(96)补码+(-38)补码 = 0110 0000+1101 1010 = 0011 1010 =(+58)真值
0110 0000 +1101 1010 0011 1010
向高位的进位舍去
3.编码方法
例:通过补码计算27-85的值。
(27)原码=0001 1011 (27)补码=0001 1011 (-85)原码=1101 0101 (-85)补码=1010 1011
▫ 反码则是计算补码的一个中间步骤,原码转变为反码, 在计算机硬件上很容易实现,所以用反码作为过渡, 很容易得到补码。
3.编码方法
例:通过补码计算96-38值。
(96)原码=0110 0000 (96)补码=0110 0000 (-38)原码=1010 0110 (-38)补码=1101 1010
3.编码方法
•反码编码:
▫ 表示正数的方法与原码相同;表示负数时,将二进制 数除符号位之外按位求反。
例:(+57)反码= 00111001
正数的反码与其原码相同
(-57)反码= 11000110
负数的反码等于其原码的符号位不变,数值位 按位取反
3.编码方法
•补码编码:
▫ 一个正数的补码与其原码相同;一个负数的补码,等 于其原码的符号位不变,数值位按位取反,再在末位 加1。
•机器数的表示范围由硬件(CPU中的寄存器)决定。
▫ 16位寄存器,字长为16 位。 ▫ 一个16位无符号整数的最小值是:
0000000000000000
(0000000000000000)2=0 ▫ 一个16位无符号整数的最大值是:
1111111111111111
(1111111111111111)2=65535 ▫ 此时机器数的范围为0~65535
4.小数点位置
计算机中如何表示浮点数?
在计算机中一般浮点数的存放形式如下图所示。
在浮点数表示中,尾数的符号和阶码的符号各占一位,阶码 是定点整数,阶码的位数决定了所表示数的范围,尾数是定 点小数,尾数的位数决定了数的精度。例如:
1 11 1 1 0 1 1
阶符 阶码 尾符
尾数
上图表示的是: -0.1011×2-11
(27-85)补码 =(27)补码+(-85)补码 = 0001 1011+1010 1011
= 1100 0110
=(-58)真值
0001 1011 +1010 1011 1100 0110
4.小数点位置
定点数 关键点:小数点位置隐含且固定不动
定点整数小数点的位置约定在最低位的右边,用来表 示整数
2.机器数的符号
•规定机器数的最高位为符号位
(-7)10=(10000111)2
3.编码方法
•原码编码:
▫ 在最高位用0和1分别表示正负数,其他位直接表示二 进制数值的方法
例:(+57)原码=00111001
正数的原码的符号位为0,数值位补足7位
(-57)原码=10111001
负数的原码的符号位为1,数值位补足7位