IEEE浮点标准
原文地址:http://www.math.byu.edu/~schow/work/IEEEFloatingPoint.htm
浮点型标准是什么?
IEEE浮点标准是上世纪80年代初由IEEE采用的一个浮点计算系统。
计算机采用IEEE浮点标准的要求:
1.正确计算舍入;
2.浮点数应该被计算机正确表示;
3.异常处理应该是明确一致的。
引用:见顶部
浮点数表示法
32位机的单精度数:
32位机的单精度模式会将一个字表示为b1b2b3...b9b10b11...b32的实数形式
(-1)s x 2e-127 x (1.f)2
where s = b1, e = (b2...b9)2, and f = b10b11...b32.
| 符号位 | 偏移指数 | 正常数字尾部的分数 |
| 1 bit | 8 bits | 23 bits |
| s | e | f |
需要注意的是,尾部的分数部分由一个隐藏位和实际尾部数字共24位二进制数存储。
32位的双精度数
32位机的双精度模式会将两个字表示为b1b2b3...b12b13b14...b64 的实数形式
(-1)s x 2e-1023 x (1.f)2
where s = b1, e = (b2...b12)2, and f = b13b14...b64.
| 符号位 | 偏移指数 | 尾部的小数 |
| 1 bit | 11 bits | 52 bits |
| s | e | f |
尾部的分数部分由一个隐藏位和实际尾部数字共53位二进制数存储。
32位机浮点数的十进制值:
| 单精度 | 双精度 | |
| Machine epsilon | 2-23 or 1.192 x 10-7 | 2-52 or 2.220 x 10-16 |
| 最小正数 | 2-126 or 1.175 x 10-38 | 2-1022 or 2.225 x 10-308 |
| 最大正数 | (2- 2-23) 2127 or 3.403 x 1038 | (2- 2-52) 21023 or 1.798 x 10308 |
| 最小负数 | 2-150 or 7.0 x 10-46 | 2-1075 or 2.5 x 10-324 |
| 十进制精度 | 6 位标识 | 15 位标识 |
(Machine epsilon:大于1的机器所能表示的最小浮点数;Smallest subnormal:低于最小值?无穷小?)
(In computer science, denormal numbers or denormalized numbers (now often called subnormal numbers) fill the underflow gap around zero in floating-point arithmetic. Any non-zero number with magnitude smaller than the smallest normal number is 'subnormal'.)
IEEE标准舍入
通常使用舍入到最近值的方式。基本上,给定一个实数x,它正确的舍入值是最接近x的浮点数fl(x)。
IEEE浮点标准的特殊值
单精度表示
| 标志位 | 指数偏移 | 小数部分 | |
|
1 bit |
8 bits |
23 bits |
|
| 7/4 | 0 | 0 1 1 1 1 1 1 1 | 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
| -34.432175 | 1 | 1 0 0 0 0 1 0 0 | 0 0 0 1 0 0 1 1 0 1 1 1 0 1 0 1 0 0 0 1 1 0 0 |
| -959818 | 1 | 1 0 0 1 0 0 1 0 | 1 1 0 1 0 1 0 0 1 0 1 0 1 0 0 1 0 1 0 0 0 0 0 |
| + 0 | 0 | 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
| - 0 | 1 | 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
| macheps | 0 | 0 1 1 0 1 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
| "smallest" | 0 | 0 0 0 0 0 0 0 1 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
| "largest" | 0 | 1 1 1 1 1 1 1 0 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 |
| infinity | 0 | 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 |
| NaN | 0 | 1 1 1 1 1 1 1 1 | Not all 0s or 1s |
| 2-128** | 0 | 0 0 0 0 0 0 0 0 | 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
(macheps = machine epsilon,infinity:无穷大)
**这些是非标准数。这些数计算机可以表示,但是相比于正常值,它们的精度要低一些。
IEEE浮点标准的更多相关文章
- 深入理解计算机系统(2.7)------二进制小数和IEEE浮点标准
整数的表示和运算我们已经讲完了,在实际应用中,整数能够解决我们大部分问题.但是某些需要精确表示的数,比如某件商品的价格,某两地之间的距离等等,我们如果用整数表示将会有很大的出入,这时候浮点数就产生了. ...
- 二进制小数和IEEE浮点标准
二进制小数 首先复习进位计数制的要素: 数码:用来表示进制数的元素.比如 二进制数的数码为:0,1 十进制数的数码为:0,1,2,3,4,5,6,7,8,9 十六进制数的数码为:0,1,2,3,4,5 ...
- 深入理解计算机系统(2.7)---二进制浮点数,IEEE标准(重要)
2.6我们进行了二进制整数运算的最后一役,本次LZ将和各位一起进入浮点数的世界,这里没有无符号,没有补码,但是有各种各样的惊奇.倘若你真正的进入了浮点数的世界,一定会发现它原来是这么有意思,而不是像之 ...
- 二进制小数及 IEEE 浮点表示
1.二进制小数 前面这篇博客 进制间的转换 我们已经讲过了各个进制数的表示.现在我们复习一下: 进位计数制的要素: ①.数码:用来表示进制数的元素.比如二进制数的数码为:0,1.十进制数的数码为:0 ...
- 数据库设计(2/9):域,约束和默认值(Domains, Constraints and Defaults)
对于设计和创建数据库完全是个新手?没关系,Joe Celko, 世界上读者数量最多的SQL作者之一,会告诉你这些基础.和往常一样,即使是最专业的数据库老手,也会给他们带来惊喜.Joe是DMBS杂志是多 ...
- PHP: 深入pack/unpack
https://my.oschina.net/goal/blog/195749 PHP作为一门为web而生的服务器端开发语言,被越来越多的公司所采用.其中不乏大公司,如腾迅.盛大.淘米.新浪等.在对性 ...
- 深入理解计算机系统(2.8)---浮点数的舍入,Java中的舍入例子以及浮点数运算(重要)
前言 上一章我们简单介绍了IEEE浮点标准,本次我们主要讲解一下浮点运算舍入的问题,以及简单的介绍浮点数的运算. 之前我们已经提到过,有很多小数是二进制浮点数无法准确表示的,因此就难免会遇到舍入的问题 ...
- PHP: 深入pack/unpack 字节序
http://my.oschina.net/goal/blog/195749?p=1 目录[-] 写在前面的话 什么是字节序 MSB和LSB 大端序 小端序 网络字节序 主机字节序 总结 pack/u ...
- [转载]为什么使用%lf读取double型的值,而用%f进行显示?
博客地址:http://blog.csdn.net/shenzhou111/article/details/7826444 今天看到一篇好文章,mark一下. 出去旅游了一下,所以有些天没敲代码,于是 ...
随机推荐
- MySQL高级知识- MySQL的架构介绍
[TOC] 1.MySQL 简介 概述 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司. MySQL是一种关联数据库管理系统,将数据保存在不同的表中,而 ...
- css3中perspective
perspective 属性定义 3D 元素距视图的距离,以像素计.该属性允许改变 3D 元素查看 3D 元素的视图.当为元素定义 perspective 属性时,其子元素会获得透视效果,而不是元素本 ...
- 页面中多个script块之间的关系
一:函数声明与函数定义表达式在函数调用间的区别 <script type="text/javascript"> doA(); var doA = function(a ...
- 马里奥AI实现方式探索 ——神经网络+增强学习
[TOC] 马里奥AI实现方式探索 --神经网络+增强学习 儿时我们都曾有过一个经典游戏的体验,就是马里奥(顶蘑菇^v^),这次里约奥运会闭幕式,日本作为2020年东京奥运会的东道主,安倍最后也已经典 ...
- Entity Framework 延伸系列目录
1.采用MiniProfiler监控EF与.NET MVC项目 2.采用EntityFramework.Extended 对EF进行扩展 3.EntityFramework执行存储过程中遇到的那些坑 ...
- Java程序员:工作还是游戏,是该好好衡量一下了
前阵子我终于下定决心,删掉了硬盘里所有的游戏. 身为一个程序猿,每天都要和各种新技术打交道,闲暇时间,总还得看一下各大论坛,逛逛博客园啥的,给自己充充电.游戏的话,其实我自小就比较喜欢,可以算是一种兴 ...
- EC笔记:第4部分:22、所有成员都应该是private的
EC笔记:第4部分:22.所有成员都应该是private的 更简单的访问 用户不用记得什么时候该带上括号,什么时候不用带上括号(因为很确定的就要带上括号) 访问限制 对于public的成员变量,我们可 ...
- 推荐10款超级有趣的HTML5小游戏
HTML5的发展速度比任何人的都想像都要更快.更加强大有效的和专业的解决方案已经被开发......甚至在游戏世界中!这里跟大家分享有10款超级趣味的HTML5游戏,希望大家能够喜欢! Kern Typ ...
- 敏捷转型历程 - Sprint3 回顾会
我: Tech Leader 团队:团队成员分布在两个城市,我所在的城市包括我有4个成员,另外一个城市包括SM有7个成员.另外由于我们的BA离职了,我暂代IT 的PO 职位.PM和我在一个城市,但他不 ...
- Linux实战教学笔记01:计算机硬件组成与基本原理
标签(空格分隔): Linux实战教学笔记 第1章 如何学习Linux 要想学好任何一门学问,不仅要眼睛看,耳朵听,还要动手记,勤思考,多交流甚至尝试着去教会别人. 第2章 服务器 2.1 运维的基本 ...