计算机组成原理之数据的表示方法详解

您所在的位置:网站首页 计算机中表示数据的单位有哪些呢 计算机组成原理之数据的表示方法详解

计算机组成原理之数据的表示方法详解

2024-07-12 22:52| 来源: 网络整理| 查看: 265

计算机中常用的数据表示格式有两种:1.定点格式 2.浮点格式 定点数与浮点数

定点数:约定机器中所有数据的小数点位置是固定不变的。 目前计算机多采用顶点纯整数表示,将定点数表示的运算称为整数运算。

浮点数:把一个数的有效数字和数的范围在计算机的一个存储单元中分别予以表示,相当于数的小数点位置随比例因子的不同而在一定范围内自由浮动,称为浮点表示法。

数的机器码表示

真值:一般书写表示的数; 机器数/机器码:机器中表示这些数的编码。

整数的机器表示 1.原码表示法

符号位加上二进制数的绝对值:

x=+1001,则[x]原=01001; x=-1001,[x]原=11001;

即正数在二进制第一位前添加0,负数添加1; 注意,原码机器中有“+0”、“-0”之分,故存在两种形式: [+0]原=000…0 [-0]原=100…0 原码表示法简单易懂,但缺点明显,在进行两数相减运算时,则要比较绝对值的大小,然后大数减去小数,最后对结果选择恰当的符号,不利于计算,为了解决矛盾,于是引入补码表示法。

2.补码表示法

请添加图片描述 当x为负数时,求x的补码还需要做减法,并不方便,我们可以通过反码来解决: 设一个二进制整数补码有n+1位(Xn为符号位): [x]补=XnXn-1Xn-2…X0 则补码表示的真值为: 在这里插入图片描述

当x为正整数时,Xn=0,则X=0Xn-1Xn-2…X0; 当x为负整数时,Xn=1,则X=1Xn-1Xn-2…X0;

eg:1.已知[x]补=010011011,求x。 X=0x28+1x27+0x26+0x25+1x24+1x23+0x22+1x21+1x20=128+16+8+2+1=155 2.已知[x]补=110011011,求x。 X=-1x28+1x27+0x26+0x25+1x24+1x23+0x22+1x21+1x20=-128+16+8+2+1=155-256=-101

由原码表示法变成补码表示法的方法

对于正整数:原码=反码=补码; 对于负整数:先求反码再加1,即在原码基础上符号位不变,其他位求反得到反码,再在反码数值最低位+1,得到补码。

3.移码表示法

移码通常用于表示浮点数的阶码,移码的传统定义是:[e]移=e+2k 其中,e为真值,2k是一个固定的偏移值常量。 eg:当e=+10101时,[e]移=1,10101; 当e=-10101时,[e]移=0,01011。 ps: 不传统定义:IEEE754标准下,移码E=e+127(取偏移值常量为2k-1,k=8)

浮点数的机器表示

任意一个十进制数N可表示为:N=10E.M eg:562->103x0.562 则在计算机中,任意二进制数N可写成:N=2e.M eg:1101->24x0.1101 M称为浮点数的尾数,是一个纯小数。e称为浮点数的指数。

IEEE754标准

当前计算机采用统一的IEEE754标准中的格式表示浮点数。 浮点数的规格化表示:为了提高数据的表示精度和统一,当尾数的值不为0时,尾数域的最高有效位应为1。eg:1101->23x1.101 规格化的32位浮点数x的真值表示为: x=(-1)Sx(1.M)x2E-127 在这里插入图片描述 eg:1.若浮点数x的IEEE754标准存储格式为41360000H,求其浮点数的十进制数值。 首先,转换为二进制数格式(十六进制每位对应二进制四位) 得到 0100 0001 0011 0110 0000 0000 0000 0000 整理,得 0 10000010 01101100000000000000000 故,S=0,指数e=E-127=3,1.M=1.01101100000000000000000 真值x=(-1)0x(1.011011)x23=(1011.011)2= (11.375)10

2.将数(20.59375)10转换成IEEE754标准的32位浮点数的二进制存储格式。 首先将十进制数转换为二进制表示:10100.10011

附:小数部分的转化 0.59375x2=1.1875 保留1 0.1875x2=0.375 保留0 0.375x2=0.75 保留0 0.75x2=1.5 保留1 0.5x2=1 保留1 顺序排列(0.10011)2=0.59375

10100.10011=1.010010011x24 指数e=E-127=4,故E=e+127=131. E=10000011 正数,故S=0. 1.M=1.010010011. 整理,得(20.59375)10=(0 10000011 01001001100000000000000)2 格式整理=(0100 0001 1010 0100 1100 0000 0000 0000)2=(41A4D000)16



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3