美文网首页
float&double二进制表示方式

float&double二进制表示方式

作者: 扯闲话 | 来源:发表于2019-02-25 16:14 被阅读0次

参考C语言中关于float、double、long double精度及数值范围理解


在C跟C++中,IEEE754浮点数的表示方法。C语言里对float类型数据的表示范围为-3.4*10^38~+3.4*10^38。double为-1.7*10^-308~1.7*10^308,long double为-1.2*10^-4932~1.2*10^4932.

对于单精度浮点数(float)来说,符号位一位,指数位8位,尾数23位。指数能够表示的指数范围为-128~127。尾数为23位。

例如:

+1.1111111111111111111111*2^127(小数点后面23个1,由于尾数的范围1~2,其最高位总为1,故只需存取小数部分,所以小数为是23位1),约等于2*2^127=3.4*10^38。为3.4*10^38负数亦然。


float:2^23 =8388608,一共七位,这意味着最多能有7位有效数字,但绝对能保证的为6位,也即float的精度为6~7位有效数字;double:2^52 =4503599627370496,一共16位,同理,double的精度为15~16位。

相关文章

  • float&double二进制表示方式

    参考C语言中关于float、double、long double精度及数值范围理解 在C跟C++中,IEEE754...

  • float&double

    浮点类型 用于表示有小数部分的数值。Java中有两种浮点类型, 也可以用16进制表示浮点数值。例如0.125=2-...

  • 002-数据、数值类型和运算符-笔记

    常量(constant)定义表示方式分类整数的表示方式:二进制、八进制、十进制、十六进制 二进制的8bit表示一个...

  • swift 4.x 浮点类型

    浮点类型有两种表示方式:(1)Float:表示32位的浮点类型,可以精确到小数点后6位。(2)Double:表示6...

  • go 数据格式化输出

    fmt.Printf("%d\n", 123)// 这种方式输出整型的二进制表示方式fmt.Printf("%b\...

  • Java BigDecimal

    构造方法: public BigDecimal(double val) :将double表示形式转换为BigDec...

  • 为什么float、double计算会精度缺失

    为什么float、double计算会精度缺失?答:整数位的二进制转10进制方式:1 * 2^n次方,所以对于整数1...

  • Swift-浮点数二进制表示

    题目:给定一个介于0和1之间的实数,类型为double,打印它的二进制表示。如果该数字无法精准地用32位以内的二进...

  • iOS-double的精度问题

    引子略 总结: double 精度问题的本质是二进制位无法存储完整的小数,会导致循环。 当 double 或者 f...

  • mysql8 数据类型 float double decimal

    float数值类型用于表示单精度浮点数值,而double数值类型用于表示双精度浮点数值,float和double都...

网友评论

      本文标题:float&double二进制表示方式

      本文链接:https://www.haomeiwen.com/subject/vwsgyqtx.html