计算机组成原理之定点数与浮点数

计算机中常用的数据表示形式:定点数、浮点数。

一、定点数

定点数:小数点的位置固定不变 分为定点定点整数和定点小数

计算机组成原理之定点数与浮点数_第1张图片
1、定点小数(纯小数):小数点隐含固定在最高数据位的左边,所以整数位就是最高位用来表示符号位

计算机中存储为 1010111(第一位1为符号位,表示负数)
实际含义:-0.010111
2、定点整数(纯整数):小数点隐含固定在最低数据位的后边,最高位用来表示符号位

计算机中表示: 10101110
实际含义: -0101110.

二、十进制浮点数转二进制

整数部分:除以2,取出余数,商继续除以2,直到得到0为止,将取出的余数逆序
小数部分:乘以2,然后取出整数部分,将剩下的小数部分继续乘以2,然后再取整数部分,一直取到小数部分为零为止。如果永远不为零,则按要求保留足够位数的小数,最后一位做0舍1入。将取出的整数顺序排列。

例如:28.625

整数部分:28我们可以按照公式,也可以直接用计算器  0001 1100

小数部分:0.625*2=1.25 ;  0.25*2=0.5; 0.5*2=1.0  ;按照公式 小数部分=101

28.625=11100.101

三、浮点数

1、浮点数(实数):小数点的位置由阶码确定,是浮动的

在计算机中通常把浮点数N分成阶码和尾数两个部分;N=尾数*基数^阶码 (尾数是一个规格化的纯小数,基数就是2(二进制),阶码就是小数点移动的位数)

计算机组成原理之定点数与浮点数_第2张图片

例如11100.101

  • 尾数=0.11100101
  • 阶码=5(小数点向左移动5位)=0000 0101

N=尾数*基数^阶码 

  •  11100.101=0.11100101*2^5=0.11100101*2^101
  • 尾数=0.11100101
  • 基数=2
  • 阶码=5(小数点向左移动5位)

2、浮点数在计算机中的表示:

例如:在16位虚拟机中,阶级码占5位,尾数占9位,数符、阶码各占一位,则28.625在16位计算机中的存储格式?

解题:

先将28.625转二进制浮点数表示:28.625=11100.101 =0.11100101*2^101 

尾数:0.11100101

阶码:101

  • 阶码部分101 不足5位:补零 00101
  • 尾数部分不足9位:补零 111001010

 

 

你可能感兴趣的:(计算机原理,定点数,浮点数,二进制,计算机组成原理)