计算机信息表示

文章介绍了计算机中数据表示的形式,包括无符号数和有符号数,定点数和浮点数的表示方法,如原码、反码、补码和移码。浮点数遵循IEE754标准,而十进制编码如BCD、BID和DPD用于处理十进制数据。数据溢出问题在定点小数中尤为显著,当数值超出范围时需要舍入处理。
摘要由CSDN通过智能技术生成


前言:计算机内部流动的信息分为两大类:数据信息和控制信息。

数据表示的作用

  • 将数据按照方式组织,以便于机器硬件可以直接识别和使用。
  • 关键:数据的表示范围和精度,数据存储和处理的代价以及软件的可移植性问题。

数据数值的表示

1)数据格式
  • 是指使用二进制编码表示实际数据的结构形式,根据有无符号分为无符号数和有符号数;根据小数点的位置分为定点数和浮点数。
  • 定点数:包括定点整数和定点小数。定点整数存在上溢问题,定点小数存在精度溢出1问题。
  • 浮点数:两个定点数分别表示阶码E(Exponent)和尾数M(Mantissa),其中E是定点整数,M是定点小数,存在上溢和下溢问题,也存在精度溢出问题。在尾数规格化(使尾数真值最高有效位为1)中保证表示唯一,浮点数在数轴上分布不均,越往右浮点数越稀疏,浮点运算不满足结合律:小数+大数=大数。
2)定点数表示
  • 真值:用‘+’,‘-’表示符号的数据格式。
  • 机器数(码):用0和1表示的符号和数值的数据格式。
  • 常见机器码:
    (1)原码表示就是符号化的数值,“0”表示整数,“1”表示负数,其在数轴上的表示区间是对称的存在正0和负0两个零,运算较为复杂,一般用于表示浮点数的尾码.
    (2)反码符号位与原码相同,表示范围也相同。真值为正数是,反码与原码相同,真值为负时,符号位不变,数值部分要逐位取反。
    (3)补码,又称模2的补码,建立在‘’的概念基础上,模的值即为符号位进位的权值。定点小数模值为2,定点整数模值为2^(n+1),真值为正时,补码等于真值,真值为负时,补码等于真值加上模数,且补码只有唯一的0,这样在表示范围上比原码,反码多表示一个最小负数。目前计算机中整数采用补码进行存储,表示和运算。
    (4)移码用于表示浮点数的阶码,整数表示,移码和补码的符号位相反,数值位相同。
    注:注意补码的机器零唯一,相比于其他编码多表示一个绝对值最大的负数,小数为-1,整数为-2^n
3)浮点数表示
  • 目前浮点数表示遵循IEE754标准;
  • 32位单精度浮点数和64位的双精度浮点数分别对应C语言中的float型和double型浮点数。
  • 二进制浮点数由数符S,阶码E和位数M组成,阶码用移码表示,位数采用原码数据表示,且隐藏高位1,运算时还原成1.M形式。
4)十进制编码
  • 十进制编码可采用BCD,BID,DPD码进行表示。
    • BCD编码

      • 8421,2421,余三码;
    • BID编码直接采用二进制表示十进制整数,编码效率最高,但进制转换较为复杂。

    • DPD编码采用十位二进制表示3位十进制整数,编码效率相对BCD码更高,十进制表示容易,需要特殊运算部件支撑。

  • 十进制浮点数
    • 可以避免二进制浮点数运算带来的精度误差问题;
5) 计算机中的数据类型
  • 汇编语言中寄存器,存储器操作数本没有数据类型

  1. 数据超过计算机所能表示的范围时称为溢出,定点小数中,所有不在数轴刻度上的纯小数都超出了定点小数的精度,无法表示,此时定点小数发生精度溢出,只能采用舍入的方式近似表示。 ↩︎

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值