计算机中的数据表示

上传人:ji****72 文档编号:50896685 上传时间:2018-08-11 格式:PPT 页数:73 大小:1.19MB
返回 下载 相关 举报
计算机中的数据表示_第1页
第1页 / 共73页
计算机中的数据表示_第2页
第2页 / 共73页
计算机中的数据表示_第3页
第3页 / 共73页
计算机中的数据表示_第4页
第4页 / 共73页
计算机中的数据表示_第5页
第5页 / 共73页
点击查看更多>>
资源描述

《计算机中的数据表示》由会员分享,可在线阅读,更多相关《计算机中的数据表示(73页珍藏版)》请在金锄头文库上搜索。

1、*1第2章 计算机中的数据表示n2.1 数值数据的表示 n2.2 非数值数据的表示紫轩遗梦*22.1 数值数据的表示n进位计数制n定点机器数的编码n浮点机器数的编码紫轩遗梦*32.1.1进位计数制n机器数:把“+”、“-”符号代码化,并保存在计算机 中的数据。n真值:机器数真正表示的数值,用“+”、“-”号加绝 对值来表示。如+3,-5。平常使用的,写在纸上的数 字都是真值。 思考:比较二进制数1101和0100的大小。10010011是一个机器数,如果一定要写在纸上, 如何表示呢?*4各种后缀标志n十进制(Decimal) Dn二进制(Binary) Bn八进制(Octal) Qn十六进制(

2、Hexdecimal) Hn如: 117D,1110101B,200AHnC语言整型常量的三种表示形式: 1. 十进制。比如20,457; 2. 十六进制,以0x开头。比如0x7a, -0X12 ; 3. 八进制,以0开头。比如-05,0237 *5nMSB(Most Significant Bit),最高有效位,位于二进制 数的最左侧,与十进制数字中最左边的一位类似。nLSB(Least Significant Bit),最低有效位,LSB位于二进 制数的最右侧,与十进制数字中最左边的一位类似。 n 二进制数中的MSB和LSB*6进制转换n二、八、十六进制转换为十进制 n十进制转换为二进制

3、n十进制转换为八、十六进制n二进制与八、十六进制相互转换紫轩遗梦*7进制转换*8(1)非十进制转换为十进制(重点 )n求和法11110101 11110101=?n观察法11110111111101112 28 8-1-8-1-811111111111111112 28 8-1 -1111111111111111111112 21010-1 -111110101111101012 28 8-1-10-1-10记住n个1表示的真值为:2n-1*9n整数部分:除以2取余,先得低位(LSB), 直到商为0。n小数部分:乘2取整,先得高位(MSB), 直到积为0。(2)十进制二进制(重点 )*10 6

4、商余数101011LSBMSB所以( ) 53 10转换成二进制数。将十进制数例*11解0.375 2 7500.2 5001. 20001.b-1= 0b-2= 1b-3= 1所以()375. 010转换成二进制数。将十进制小数例*12(123.75)10=( ? )21111011.11*13凑数法n记住几个常用的2的幂2532 2664 27128 28256 29512 2101024 2112048 21665536 n记住n个1表示的真值为:2n-1*14例子130=128+2=10000010B130=128+2=10000010B 251=255-4=11111011B251=

5、255-4=11111011B 110=127-17=01101110B110=127-17=01101110B 65539=65536+3=10000000000000065539=65536+3=100000000000000 1111 2003=2047-44=111111111111-32-8-42003=2047-44=111111111111-32-8-4 -17/128=-0.0010001-17/128=-0.0010001*15(3)二进制与八、十六进制相互转换n二进制八进制n以小数点为中心分别向两边分组,每三 位一组,写出对应的八进制数字。(不 够位数则在两边加0补足3位

6、)n二进制十六进制n以小数点为中心分别向两边分组,每四 位一组,写出对应的十六进制符号。( 不够位数则在两边加0补足4位 )n例:(1011111.11)2=( ? )8=( ? )16137.6137.65F.C5F.C*16n八进制二进制:将每位八进制数展开为3位二进制数 ,最高位和最低位的0可以略去。n十六进制二进制:将每位十六进制数展开为4位二进 制数,最高位和最低位的0可以略去。n例:(765.23)8=( ? )2n例:(765.23)16=( ? )2111 110 101.010 011111 0110 0101.0010 0011*17(4)十进制转换为八、十六进制n转换方法

7、:n直接转换:十进制八、十六进制(除 基取余和乘基取整)n间接转换:十进制二进制 八、十 六进制(推荐使用)*18(123.75)10=( ? )8173.6练习:*19手工二进制加减运算n二进制的加法: 0+0=0 0+1=1 1+0=1 1+1=10(向高位进 位) n二进制的减法: 0-0=0 0-1=1(向高位借位) 1-0=1 1- 1=0 *20手工加法运算 例:求(1011011)2(1010.11)2?1011011) 1010.11 1100101.11*21手工减法运算 例:求(1010110)2(1101.11)2?1010110) 1101.11 1001000.01*

8、222.2.1、无符号数和有符号数n无符号数据:没有正负之分, 大于等于 零的数。C中unsigned int,unsigned short int型数据。n有符号数据:在算术运算中,数据是有 正有负的,这类数据称为有符号数。C中 short int,int;float。*231、机器编码:无符号位,所有的二进制位都用来表 示数据。如计算机字长8位,unsigned int x=21 ,则x的编码表示为000101012、取值范围: 机器字长为n位的无符号数的表 示范围是0(2n-1) 。若字长8位,则数的 表示范围为0255。无符号数的机器编码3、除C之外,很少有其他编程语言支持无符号数 。

9、java所有的整数都是有符号的 。如果没有特 别说明,计算机中数值型数据都是有符号数。*24有符号数 浮点数定点数定点整数定点小数原码补码反码移码有符号数的编码表示有符号数的编码表示n有符号的数可分为整数、纯小数、既有整数 部分又有小数部分的数 n计算机中用定点整数表示整数,用定点小数 表示纯小数。 n对于既有整数部分、又有小数部分的数,用 浮点数表示。 *1.定点数的表示方法定点整数(纯整数):小数点固定在最低位数 的右面定点整数格式定点整数格式C中int型数据,指定点整数*26定点小数格式定点小数格式定点小数(纯小数):小数点固定在最高位数的 后面,即纯小数表示C中,无定点小数数据类型,假

10、设用decimal表 示定点小数。*27n由阶码与尾数两部分构成浮点数格式浮点数格式 2. 浮点数的表示方法C中float型数据,指浮点数C中的数值型数据类型重新定义nInt(整型)nDecimal(增加的,纯小数型)nFloat(浮点型)nC语言中,所有的数据都是符号数,以后 只要提到“C语言数值型数据类型”,就 指int,decimal,float28*29三、定点机器数的编码定点机器数的编码,有四种表示方法。n原码: 正数的符号位用0表示,负数用1表示,数值部 分用二进制形式表示。n反码: 正数的反码和原码相同,负数的反码是对该数 的数值部分各位取反。n补码:正数的补码和原码相同,负数的

11、补码是反码加1 。n移码:补码的符号位取反,数制位不变。定点小数不存 在移码*30例子X+83, Y-76,字长8位,求X、Y原码 、反码、补码及移码。 解: X原X反X补01010011X移=11010011Y原11001100Y反10110011Y补X反110110100Y移00110100*31例子X+17, Y-17,字长16位,求X、Y原码、反 码、补码及移码。 解: X原X反X补 0000000000010001X移= 1000000000010001Y原1000000000010001Y反1111111111101110Y补Y反11111111111101111 Y移011111

12、1111101111*32例子(定点小数)X+43/128, Y-67/128,字长8位,求 X、Y原码、反码、补码。解: X原X反X补0.0101011Y原11000011Y反10111100Y补X反1 10111101*33例子(定点小数)X+121/128, Y-107/128,字长8位 ,求X、Y原码、反码、补码。解: X原X反X补0.1111001Y原11101011Y反10010100Y补X反1 10010101*34已知机器码求真值例:x为定点整数类型X原= 1000 0101,则x=? X反= 1000 0101,则x=? X补= 1000 0101,则x=? X移= 1000

13、 0101,则x=?X原= 0100 0101,则x=? X反= 0100 0101,则x=? X补= 0100 0101,则x=? X移= 0100 0101,则x=?*35已知机器码求真值例:x为定点小数类型 X原= 1000 0101,则x=? X反= 1000 0101,则x=? X补= 1000 0101,则x=? X移= 1000 0101,则x=?X原= 0100 0101,则x=? X反= 0100 0101,则x=? X补= 0100 0101,则x=? X移= 0100 0101,则x=?*36原码机器数表示范围(定点整数 )x原真值x原真值0000000+01000000

14、0-00000001110000001-10000010210000010-20000011310000011-30000100410000100-4 0111101112311111011-1230111110012411111100-1240111110112511111101-125 0111111012611111110-1260111111112711111111-127n字长8位,表示定点整数数据,原码机器数所能 表示的数据X范围为:127X 127*37原码机器数表示范围(定点小数 )x原真值xx原真值x0000000+010000000-000000011/1281000000

15、1-1/12800000102/12810000010-2/12800000113/12810000011-3/12800001004/12810000100-4/128 01111011123/12811111011-123/12801111100124/12811111100-124/12801111101125/12811111101-125/128 01111110126/12811111110-126/12801111111127/12811111111-127/128n字长8位,表示定点小数数据,原码机器数所能 表示的数据X范围为:127/128X 127/128*38对于n位字长计算机,原码机器数X所能表示的数据范 围为:定点整数:(2n-11)X 2n-11 定点小数

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号