定点数和浮点数

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Z_TanKeer/article/details/79172129

 很多数据都是既包含整数部分,同时又包含小数部分,对小数点的表示成为计算机当中的一个问题。

 根据小数点的位置是否固定,可以分为定点表示和浮点表示。定点数和浮点数代表了数值的两种不同表示格式,由原码或补码构成。


 定点数:

 用来表示整数和纯小数,其小数点位置固定,并且隐藏起来,一个定点数只包含一种编码。

 定点整数:小数点位于最低位之后。

 定点小数:小数点位于最高之前,符号位之后。

 注意不管是定点数还是浮点数,小数点是不占用二进制位的。


 浮点数:

 浮点数采用科学计数法表示:N=M*R^E

 M为位数,R为基数,即权,E为阶码。在二进制中R为2,不表示。尾数是纯小数,用原码或补码表示。阶码为整数,用补码表示。

 如:110.011表示为0.110011*2^11,注意这里的11是二进制,对应十进制的3。

 浮点数格式:[阶符][阶码][数符][尾数小数点][尾数]

 浮点数规格化:如果一个非零浮点数的尾数最高位为1,则称之为浮点规格化数。计算机内部,浮点数都是以规格化形式出现。

 例:256.5的规格化浮点数表示,阶码用8位二进制位,尾数用16位二进制位。

 256.5=1 0000 0000.1=0.1000 0000 01*2^9=0000 1001 0100 0000 0010 0000

 根据IEEE754标准,单精度浮点数格式:[数符1位][指数部分8位][尾数部分23位],总共32位;双精度浮点数格式:[数符1位][指数部分11位][尾数部分52位],总共64位。

 


没有更多推荐了,返回首页