今天研究下float与double的编码

float:

我们来看一下这组数是如何一步步从16进制转换到float的

float编码格式:

1、将16进制转换到2进制

整理后:0 1000 0010 100 0100 0000 0000 0000 0000

=符号位

=指数位

=尾数部分

首先将指数为换算到十进制=130

大家都知道,float的范围为-2^128 ~ +2^128

所以此处获得指数 x=130-127=3

float值 y=1.10001*2^x (1.XX  XX处填写尾数部分有效位)=1.10001*2^3=1100.01(此处是二进制表示)

1100.01 换算到十进制为 y=12+(1/2)^2=12+0.25=12.25

dobule

其实double和float是一样的道理,那我们往下看下

float编码格式:

1、将16进制转换到2进制

整理后:0 100 0000 0010 1000 1000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000

=符号位

=指数位

=尾数部分

首先将指数为换算到十进制=1026

大家都知道,double的范围为-2^1024 ~ +2^1024

所以此处获得指数 x=1026-1023=3

float值 y=1.10001*2^x (1.XX  XX处填写尾数部分有效位)=1.10001*2^3=1100.01(此处是二进制表示)

1100.01 换算到十进制为 y=12+(1/2)^2=12+0.25=12.25

float与double剖析的更多相关文章

  1. 【转】JAVA程序中Float和Double精度丢失问题

    原文网址:http://blog.sina.com.cn/s/blog_827d041701017ctm.html 问题提出:12.0f-11.9f=0.10000038,"减不尽" ...

  2. Sql的decimal、float、double类型的区别

    三者的区别介绍 float:浮点型,含字节数为4,32bit,数值范围为-3.4E38~3.4E38(7个有效位) double:双精度实型,含字节数为8,64bit数值范围-1.7E308~1.7E ...

  3. float和double的精度

    作者: jillzhang 联系方式:jillzhang@126.com 原网址:http://blog.csdn.net/wuna66320/article/details/1691734 1 范围 ...

  4. float和double精度问题

    System.out.println(new BigDecimal(253.90).doubleValue() * 100);25390.0精度正确 System.out.println(new Bi ...

  5. float和double在内存中的存储方式

    本文转载于:http://wenku.baidu.com/link?url=ARfMiXVHCwCZJcqfA1gfeVkMOj9RkLlR9fIexbgs9gDdV8rIS48A1_xe1y6YgX ...

  6. float、double的有效位数

    Java中的浮点类型有两类,分别是float和double类型,其中float取_7__位有效数据,double取_15__位有效数据

  7. decimal,float和double的区别

    http://www.cnblogs.com/yellowapplemylove/archive/2011/08/23/2150316.html 一直很奇怪C#的预定义数据类型中为什么加了一个deci ...

  8. 汇编学习:float与double速度问题

    X86处理器包含两种类型的浮点数寄存器.第一种使用8个浮点寄存器组成浮点寄存器栈,另一种为向量寄存器(XMM,YMM),它们对于单双精度的处理是不同的.本文将讨论两种模式下的浮点数计算速度问题. 一. ...

  9. Effective Java 48 Avoid float and double if exact answers are required

    Reason The float and double types are particularly ill-suited for monetary calculations because it i ...

随机推荐

  1. Xcode中报错或警告信息整理,持续更新...

     整理报错和警告信息,为以后自己查看方便用! [报错1] 信息:Static table views are only valid when embedded in UITableViewContro ...

  2. C语言中结构体对齐问题

    C语言中结构体对齐问题 收藏 关于C语言中的结构体对齐问题 1,比如: struct{short a1;short a2;short a3;}A;struct{long a1;short a2;}B; ...

  3. SQLite 中的各种限制

    英文原文:Limits In SQLite       本文定义了 SQLite 的限制,如何针对这些限制定制特定的应用程序.默认的限制设置通常是适当的,几乎适合于每一个应用.有一些应用程序可能需要在 ...

  4. Android listView scroll 恢复滚动位置

    相信大家尝试过许多方法恢复滚动位置,本人也找了许多方法,唯有这个方法好用,下面把代码贴出来 声明两个变量 private int mPosition; private int lvChildTop; ...

  5. poj2954

    水题,先用叉积求三角形面积然后求三边上的点(由公约数上点)a然后用pick定理S=a+b/2-1就可以求出内部的点数了 var x,y,xx,yy,a1,a2,a3,x1,x2,x3,y1,y2,y3 ...

  6. Server.Transfer方法,Server.Execute方法和Response.Redirect方法有什么异同

    (1)Server.Transfer方法: Server.Transfer("m2.aspx");//页面转向(服务器上执行). 服务器停止解析本页,保存此页转向前的数据后,再使页 ...

  7. 【转】XCode、Cocoa、Objective-C 的关系区别

    原文网址:http://blog.sina.com.cn/s/blog_5e89e1ff0100z4k1.html Object-Ciphone开发用的编程语言不是c,c++,java 而是objec ...

  8. linux apache模块的安装

    最近,想使用apache的mod_status来查看一下apache的服务器状态,就自己安装了一下mod_status,以前觉得好像很难的东西其实很简单. 第一步, 去http://httpd.apa ...

  9. Difference Between Primes

    Problem Description All you know Goldbach conjecture.That is to say, Every even integer greater than ...

  10. leetcode First Missing Positive hashset简单应用

    public class Solution { public int firstMissingPositive(int[] A) { HashSet<Integer> hash=new H ...