2019/03/10 09:12
3.1数值数据的表示
1)计算机使用二进制表示数据的原因:
<1>比较容易找到二值状态的物理器件来表示数据和实现存储。
<2>二值性使二进制的存储具有抗干扰能力强,可靠性高等优点。
<3>运算规则十分简单,便于使用电子器件和线路加以实现。
<4>二进制中的0和1与逻辑推理中的真假对应。
2)不同数制之间的转化:P67(教材)
3)十进制的编码:
<1>二-十进制码(BCD):分为有权码和无权码,有权码没有申明一般是指8421码。无权码有格雷码,又称循环码,余3码。?
<2>十进制数串的表示方法:P69(教材)
3.2、3.3数据格式和定点机器数表示方法
1)数值数据在计算机中的表示形式称为机器数。
2)小数点的表示方法:定点表示法和浮点表示法
3)定点机器数的表示方法:
<1>原码表示法:“,”是整数用在符号位的后面,“.”是定点小数用在符号位的后面。“0”表示正数,“1”表示负数;真值“0”的原码不唯一。[+0]=00....0 [-0]=100.....0;
表示范围若X是整数,则n+1位原码的范围是-(2^n-1)<= X <= 2^n-1
表示范围若X是小数,则n+1位原码的范围时-(1-2^-n) <= X <= 1-2^-n
<2>补码表示法:其余的同原码一样,正数不变,负数取反+1,且真值“0”的补码[+0]=[-0]=00....0。表示范围n+1位数整数:-2^n <= X <= 2^n-1、
小数:-1 <= X <= 1-2^-n ,因为补码的真值“0”正负是一样的,所以就比原码的范围多了一位。
<3>反码表示法:就是正数与原码一样,然后就是负数全部取反就可以了。真值“0”的反码表示不唯一,[+0]=000....0 [-0]=111....1
表示范围若X是整数,则n+1位原码的范围是-(2^n-1)<= X <= 2^n-1
表示范围若X是小数,则n+1位原码的范围时-(1-2^-n) <= X <= 1-2^-n
<4>移码表示法:主要用于浮点机器数的阶码,一般只用来表示定点整数。是用“1”来表示正,“0”来表示负。数值部分表示同补码。且真值“0”的补码[+0]=[-0]=10....0。
表示范围n+1位数整数:-2^n <= X <= 2^n-1
小数:-1 <= X <= 1-2^n ,因为补码的真值“0”正负是一样的,所以就比原码的范围多了一位。-2^n的移码表示为全为0?
4)在进行数据转化的时候需要注意的几点:
<1>对于分数有分母的形式,可以发现分母是由2^-n构成,然后n就代表在小数点后几位,分子就是按照正常的二进制表示,最后移小数点就可以了,n是多大就移几位。
<2>对于十进制转化为二进制,整数部分用短除法,小数部分用乘法超过1取1,再乘直到精度满足题目要求。然后再向八进制,十六进制转化。
<3>对于数值向机器数转化时,首先转化为二进制,然后再开始转化。
3.4浮点机器数表示方法
1)浮点数中,尾数M是一个定点小数,他决定了浮点数的有效精度值,且尾数用原码和补码表示。阶数E是一个定点整数,对于表示范围起决定性的作用。阶码一般用移码和补码表示。
2)对于IEEE 754浮点数标准格式,有几点需要注意的:
<1>首先是阶码使用移码表示,尾数使用原码表示。
<2>且尾数中最高位的1.中的“1”省略。
<3>阶码中的E=指数+127。
<4>32 24 8 | 64 53 11 | 80 65 15
3) 浮点数规格化表示,若阶码的底为2,则规格化浮点数的尾数M应该满足:1/2<=|M|<=1;
对于补码表示的尾数,最高有效位与符号位应该相异。0.1或1.0
对于原码表示的尾数,当最高有效位为1时,浮点数规格化,.1*...
4)尾数溢出是由阶码决定的,而非尾数,尾数发生溢出可以进行右规。???
3.5非数值数据的表示
1)ASCII用7为二进制代表一个字符。
2)在汉字处理系统中,字模码是最基本最广泛的。
3)校验码,只有码距大于等于2才有检错能力,大于等于3才有纠错能力。
原文地址:https://www.cnblogs.com/tsruixi/p/10546155.html