第一章 微型计算机中的数据类型
1.1 常用数据类型 带符号整数、无符号整数、 BCD数(包括压缩的和非压缩 的二–十进制码)、 字符串、位、浮点数 第一章 微型计算机中的数据类型 1.1 常用数据类型 带符号整数、无符号整数、 BCD数(包括压缩的和非压缩 的二–十进制码)、 字符串、位、浮点数 1.数据在内存储器中的存储方式 数据在内存儲器中的存储方式 字节Byte :8位二进制数称为 一个字节,数据在内存中常以 Byte为单位进行存储 xx 34 12 地址 数据1234 m+2 m+1 m m-1
位和字节 位(bit)是计算机所能表示的最小最基本的数据单位,它指的是取值只能为0或1的一个二进制数值位。位作为单位时记作b 第一章 微型计算机中的数据类型 位和字节 位(bit)是计算机所能表示的最小最基本的数据单位,它指的是取值只能为0或1的一个二进制数值位。位作为单位时记作b 字节(byte)由8个位二进制位组成,通常用作计算存储容量的单位。字节作为单位时记作B K是kelo的缩写,1K=1024=210; M是mega的缩写,1M=1024K=220; G是Giga的缩写,1G=1024M=230; T是tera的缩写,1T=1024G=240。
2.数的进位制表示约定 十进制:以十为基数,后缀为D。 二进制:以二为基数,后缀为B。 计算机中常用的其他进制 八进制、十六进制 第一章 微型计算机中的数据类型 2.数的进位制表示约定 十进制:以十为基数,后缀为D。 二进制:以二为基数,后缀为B。 计算机中常用的其他进制 八进制、十六进制
3.整数 无符号数 地址 m m+1 m+2 m+3 字节 7 0 字 15 8 双字 23 16 31 24 第一章 微型计算机中的数据类型 3.整数 无符号数 地址 m m+1 m+2 m+3 MSB 字节 7 0 字 15 8 双字 23 16 31 24
带符号整数 原码: 补码: 反码 移码 最高位表示数的符号,其余各位表示数值本身。 第一章 微型计算机中的数据类型 带符号整数 原码: 最高位表示数的符号,其余各位表示数值本身。 补码: 以2n为模(n为二进制数位数),它的补码叫做2补码,简称补码。 反码 一个二进制数,若以2n-1为模,它的补码称为1补码,也称反码。 移码 移码是在数的真值上加一个偏移量
原码: 正数的原码表示 负数的原码表示 X= —Xn-2Xn-3…X1X0 (n-1位二进制负数) 零的原码表示 第一章 微型计算机中的数据类型 原码: 正数的原码表示 X= +Xn-2Xn-3…X1X0 (n-1位二进制正数), 则 [X]原=0Xn-2Xn-3…X1X0 (最高位为符号位)。 负数的原码表示 X= —Xn-2Xn-3…X1X0 (n-1位二进制负数) 则[X]原=1Xn-2Xn-3…X1X0=2n-1 + Xn-2Xn-3…X1X0 = 2n-1 – ( – Xn-2Xn-3…X1X0) = 2n-1 – X 零的原码表示 [ + 0 ]原 = 000…00B [ – 0 ]原 = 100…00B 当X ≥ + 0时,[X]原 = X 当X ≤ – 0时,[X]原 = 2n-1 – X
补码 : 补码的定义 补码的求法 第一章 微型计算机中的数据类型 当 0 ≤ X ≤ 2 n-2时, [X]补 = X, 第一章 微型计算机中的数据类型 补码 : 补码的定义 当 0 ≤ X ≤ 2 n-2时, [X]补 = X, 当- 2 n-1 ≤ X ≤ 0时,[X]补 = 2 n + X 补码的求法 根据定义求 利用原码求 简便的直接求补法
补码的求法 第一章 微型计算机中的数据类型 例 1.1 试用直接求补码法求X1=-101 0111B及X2=-111 0000B的补码 第一章 微型计算机中的数据类型 补码的求法 例 1.1 试用直接求补码法求X1=-101 0111B及X2=-111 0000B的补码 解:X1 = -1010111B [X1]原= 1 1010111B 由原码求补码: [X1]补 = 1010 1001B X2 = -111 0000B [X2]原 = 1 1 1 1 0000B 由原码求补码: [X2]补 = 1001 0000B 符号位不变 取反 第一个1不变 符号位不变 取反 第一个1及其后边各位不变
小结 原码、补码、反码的相同之处: 不同之处: 1)最高位均表示符号位。 2)对于正数有:原码=反码=补码 第一章 微型计算机中的数据类型 小结 原码、补码、反码的相同之处: 1)最高位均表示符号位。 2)对于正数有:原码=反码=补码 不同之处: 1)对于负数,除符号位1外,其余各位:原码为真值表示;反码需取反才为真值;补码需取反加1。 2)设字长为N,所表示的真值的范围: 原码:-(2N-1-1)~ +(2N-1-1) 补码:- 2N-1~ +(2N-1-1) 反码: -(2N-1-1)~ +(2N-1-1) 3)原码、反码有正零负零之分,补码没有。
带符号数的运算 原码: 补码: 第一章 微型计算机中的数据类型 运算完全类同于正负数的笔算。 使符号位与数一起参加运算; 第一章 微型计算机中的数据类型 带符号数的运算 原码: 运算完全类同于正负数的笔算。 补码: 使符号位与数一起参加运算; 将减数变补与被减数相加来实现减法,即 [X±Y]补 = [X]补 + [±Y]补 │X│、│Y│、│X+Y│< 2 n-1
带符号数的运算-补码 第一章 微型计算机中的数据类型 例1.2 用补码进行下列运算(设n = 8): 第一章 微型计算机中的数据类型 带符号数的运算-补码 例1.2 用补码进行下列运算(设n = 8): ① (+18)+(-15) ② (-18)+(-11) 解: ① 0001 0010B [+18]补 + 1111 0001B [-15]补 1 0000 0001B [ + 3 ]补 ↑↑ 最高位(符号位)为0,结果为正 符号位的进位,丢掉。 ② 1110 1110B [-18]补 + 1111 0101B [-11]补 1 1110 0011B [ - 29 ]补 ↑↑ 最高位(符号位)为1,结果为负 符号位的进位,丢掉。
带符号数的运算-补码 第一章 微型计算机中的数据类型 例1.3 用补码进行下列运算(设n = 8): 第一章 微型计算机中的数据类型 带符号数的运算-补码 例1.3 用补码进行下列运算(设n = 8): ① 96-19; ② (-56)-(-17) 解: ① X = 96 , Y = 19 , 则 [X]补 = [X]原 = 0110 0000B [Y]补 = [Y]原 = 0001 0011B [-Y]补 = 1110 1101B 0110 0000B [X]补 + 1110 1101B [-Y]补 0100 1101B [X-Y]补 = [X-Y]原 = +77 符号位为0,结果位正。 ② X =-56, Y =-17, 则 [X]原 = 1011 1000B [X]补 = 1100 1000B [Y]原 = 1001 0001B [Y]补 = 1110 1111B [-Y]补= 0001 0001B 1100 1000B [X]补 + 0001 0001B [-Y]补 1101 1001B = [X-Y]补 符号位为1,结果为负数的补码,可对[X-Y]补再求补,得[X-Y]原 =1010 0111B。
无符号数的运算 第一章 微型计算机中的数据类型 第一章 微型计算机中的数据类型 无符号数的运算 X ≥Y ,则二者直接相减时无借位,差值为正,X + [Y]变补的和必大于2 n,最高位有进位,得到的和为正数[X—Y]的补码。它等于[X—Y]原。 X<Y, 则二者直接相减时有借位,差值为负,但X + [Y]变补的和必小于2 n,最高位无进位,得到的和为负数[X—Y]的补码。
溢出判别 第一章 微型计算机中的数据类型 正常溢出 非正常溢出 正溢出 负溢出 双高位判别法 第一章 微型计算机中的数据类型 溢出判别 正常溢出 非正常溢出 正溢出 负溢出 双高位判别法 Cs:它表征最高位(符号位)的进位(对加法)或借位(对减法)情况。 Cp:它表征数值部分最高位的进位(对加法)或借位(对减法)情况。 若Cs和Cp同为0或同为1,便无溢出发生,只有当Cs和Cp为10或01状态时才会发生溢出。
算数移位 有关0的问题 第一章 微型计算机中的数据类型 对于正数,左移或右移时空位都补以0。 第一章 微型计算机中的数据类型 算数移位 对于正数,左移或右移时空位都补以0。 补码法表示的负数,左移时最低位补以0,右移时最高位补以1。 有关0的问题 原码表示法中出现+0和-0 ,而补码和移码没有。
第一章 微型计算机中的数据类型 字符串 包括字节串、字串和双字串 位及位串 位偏移量:一个位在位串中的地址,由字节地址和余数组成。
二—十进制码 BCD码(Binary Coded Decimal) 字母与字符的二进制编码表示 第一章 微型计算机中的数据类型 十进制数的二进制编码表示 二—十进制码 BCD码(Binary Coded Decimal) 字母与字符的二进制编码表示 美国信息交换标准码(ASCII :American Standard Code for Information Interchange) 奇偶校验码 汉字的二进制编码表示
1.2 数学协处理器的数据格式 字整数、短整数、长整数、压缩BCD码、短实数、长实数、临时实数 1.整型数 字整数——带符号字 第一章 微型计算机中的数据类型 1.2 数学协处理器的数据格式 字整数、短整数、长整数、压缩BCD码、短实数、长实数、临时实数 1.整型数 字整数——带符号字 短整数——双字整数 长整数——不支持 2.BCD码 80位压缩BCD码,共18位BCD数。
3.实型数 31 23 有效数字 指数 S 短型实数 63 52 有效数字(52) 指数(11) S 长型实数 79 64 63 S 第一章 微型计算机中的数据类型 3.实型数 31 23 有效数字 指数 S 短型实数 63 52 有效数字(52) 指数(11) S 长型实数 79 64 63 S 指数(15) 1 有效数字(64) 临时实数