浮点数

简介: 浮点数

1.浮点数的定义:浮点数,是属于有理数中某特定子集的数的数字表示,在计算机中用以近似表示任意某个实数。

2.浮点数的表示:

image.png


其中S是符号位,P是阶码(或者E),M是尾数。

其中,阶码的长度决定浮点表示的范围,尾数长度决定浮点表示的精度

image.png


3.浮点数的加减运算(掌握步骤就行):

两个浮点数相加时,首先要进行对阶。

设两个浮点数 X=M2Ex ,Y=My2Ey

实现X±Y要用如下5步完成:

(1)对阶(阶码)操作:小阶向大阶看齐。对阶:小阶向大阶(小数向大数)对齐,同时将尾数右移N位。(N为阶差)。

(2)进行尾数加减运算

(3)规格化处理:即阶码采用移码表示,尾数采用补码表示。尾数进行运算的结果必须变成规格化的浮点数,对于双符号位(就是使用00表示正数,11表示负数,01表示上溢出,10表示下溢出)的补码尾数来说,就必须是 001×××…×× 或110×××…××的形式。若不符合上述形式要进行左规或右规处理。

(4)舍入操作:在执行对阶或右规操作时常用“0”舍“1”入法将右移出去的尾数数值进行舍入,以确保精度。

(5)判结果的正确性:即检查阶码是否溢出

若阶码下溢(移码表示是00…0),要置结果为机器0;

若阶码上溢(超过了阶码表示的最大值)置溢出标志。

4. 浮点数的表示范围:

如果浮点数的阶码(包括1位阶符)用K位的移码表示,尾数(包括1位数符)用N位的补码表示,则浮点数表示的数值范围如下。


image.png

(2016年下半年)设16位浮点数,其中阶符1位、阶码值6位、数符1位、尾数8位。若阶码用移码表示,尾数用补码表示,则该浮点数所能表示的数值范围是(B)。(2016年下半年)


相关文章
|
6月前
|
C语言
|
16天前
|
JavaScript 前端开发 Java
浮点数介绍
【10月更文挑战第21天】
26 1
|
2月前
|
存储 Python
整数和浮点数。
整数和浮点数。
24 7
|
3月前
|
存储
浮点数
【8月更文挑战第29天】浮点数。
66 1
浮点数中的零
Julia 提供三种浮点类型:Float16(半精度,16位),Float32(单精度,32位)和 Float64(双精度,64位)。浮点数包含正零和负零,两者相等但二进制表示不同,如 `bitstring` 函数所示:0.0 为 "000...000",而 -0.0 为 "100...000"。
浮点数的世界 0.1 + 0.2 = 0.30000000000000004?
今天看到一个有趣的新闻,浮点数计算导致的灾难,借此机会再理解一下浮点数的原理。
215 1
|
存储
5.6.1_浮点数的表示
计算机组成原理之浮点数的表示
326 0
5.6.1_浮点数的表示
|
存储 Java
详解浮点数
1.什么是浮点数 在计算机系统的发展过程中,曾经提出过多种方法表示实数,但是到为止使用最广泛的是浮点表示法。浮点表示法,即用浮点数来表示实数,所谓浮点数,意思是小数点的位置不是固定的,是可以浮动的。浮点数采用IEEE 754这个标准作为统一的标准。该标准中严格定义个浮点数的表示格式、转化过程。 下面简单介绍一下IEEE 754标准。 IEEE 754的核心就是用科学计数法来表示实数,然后将表示结果转为二进制的方式,方便计算机存储。
346 0
|
编译器 C++
C++ 字符串转浮点数,包括整数、小数和科学记数法
C++ 字符串转浮点数,包括整数、小数和科学记数法
604 0
|
存储
浮点数的表示方法
浮点数的表示方法
170 0
浮点数的表示方法