精华内容
下载资源
问答
  • 计算机程序中的浮点数分为单精度浮点数和双精度浮点数。单精度和双精度精确的范围不一样。计算机里的最基本的存储单位用位(bit)来表示。bit只能用来存储0或1。稍大一点的单位是字节(Byte,简写为B)。再大一级的是千...

    上节课 简单介绍了浮点数。计算机程序中的浮点数分为单精度浮点数和双精度浮点数。

    单精度和双精度精确的范围不一样。

    计算机里的最基本的存储单位用位(bit)来表示。bit只能用来存储0或1。

    稍大一点的单位是字节(Byte,简写为B)。

    再大一级的是千字节(kilo Bytes),用k来表示。

    再大一级的单位是兆字节(Mega Bytes),用M来表示。一张照片的大小通常为1~3M。

    再大一级的单位为G。一部高清电影的大小通常为1~2G。

    再大一级的单位为T。

    换算关系为:

    1B = 8bit

    1k = 1024B = 2^10 B

    1M = 1024k = 2^20 B

    1G = 1024M = 2^30 B

    1T = 1024G = 2^40 B

    单精度(float)在计算机中存储占用4字节,32位,有效位数为7位(6位小数+小数点)。

    双精度(double)在计算机中存储占用8字节,64位,有效位数为16位(15位小数+小数点)。

    不管是float还是double,在计算机中的存储都遵循IEEE规范,使用二进制科学计数法,都包含三个部分:符号位、指数位和尾数部分。其中float的符号位、指数位(即整数部分)、尾数部分分别为1, 8, 23。双精度则分别为1, 11, 52。

    float

    double

    精度主要取决于尾数部分的位数,float为23位,最小为2的-23次方,约等于1.19乘以10的-7次方,所以float小数部分只能精确到后面6位,加上小数点算做一位,即有效数字为7位。

    类似,double 尾数部分52位,最小为2的-52次方,约为2.22乘以10的-16次方,所以精确到小数点后15位,有效位数为16位。

    程序验证:

    #include

    int main()

    {

    float a = 1.123456789;

    printf("a = %20.9f\n", a);

    double b = 2.123456789;

    printf("b = %20.9f\n", b);

    return 0;

    }

    注意:这里%20.9f表示浮点数总共有20位,其中小数占9位。不足20位的部分,左侧用空格来填充。

    运行结果:

    a = 1.123456836

    b = 2.123456789

    从运行结果可以看出,单精度浮点数小数部分只有前6位是准确的,后三位是不准确的。双精度小数部分9位都是准确的。

    展开全文
  • 单精度浮点数与双精度浮点数区别

    千次阅读 2020-04-06 15:14:35
    单精度浮点数与双精度浮点数区别 1、所占的内存不同 单精度浮点数占用4个字节(32位)存储空间来存储一个...单精度浮点数的数值范围为-3.4E38~3.4E38,而双精度浮点数可以表示的数字的绝对值范围大约是:-2.23E30...

    单精度浮点数与双精度浮点数区别

    1、所占的内存不同

    单精度浮点数占用4个字节(32位)存储空间来存储一个浮点数,包括符号位1位,阶码8位,尾数23位。

    而双精度浮点数使用 8个字节(64位)存储空间来存储一个浮点数,包括符号位1位,阶码11位,尾数52位。

    2、所存的数值范围不同

    单精度浮点数的数值范围为-3.4E38~3.4E38,而双精度浮点数可以表示的数字的绝对值范围大约是:-2.23E308 ~ 1.79E308。E表示10的多少次方,如3.4E38指的是3.4乘以10的38次方。

    3、十进制下的位数不同

    单精度浮点数最多有7位十进制有效数字,如果某个数的有效数字位数超过7位,当把它定义为单精度变量时,超出的部分会自动四舍五入。

    双精度浮点数可以表示十进制的15或16位有效数字,超出的部分也会自动四舍五入。
    在这里插入图片描述

    整型:

    byte:-2^7 ~ 2^7-1,即-128 ~ 127。1字节。Byte。末尾加B

    short:-2^15 ~ 2^15-1,即-32768 ~ 32767。2字节。Short。末尾加S

    有符号int:-2^31 ~ 2^31-1,即-2147483648 ~ 2147483647。4字节。Integer。

    无符号int:0~2^32-1。

    long:-2^63 ~ 2^63-1,即-9223372036854774808 ~ 9223372036854774807。8字节。Long。末尾加L。(也可以不加L)

    展开全文
  • 在C语言中,单精度浮点数(float)和双精度浮点数(double)类型都是用来储存实数的,双精度是用记忆较多,有效数字较多,数值范围较大。
  • 单精度浮点数(float)与双精度浮点数(double)的区别 单精度浮点数(float)与双精度浮点数(double)的区别如下: (1)在内存中占有的字节数不同 •单精度浮点数在机内占4个字节 •双精度浮点数在机内占8个字节 ...

    单精度浮点数(float)与双精度浮点数(double)的区别

    单精度浮点数(float)与双精度浮点数(double)的区别如下:

    (1)在内存中占有的字节数不同

    •单精度浮点数在机内占4个字节

    •双精度浮点数在机内占8个字节

    (2)有效数字位数不同

    •单精度浮点数有效数字8位

    •双精度浮点数有效数字16位

    (3)所能表示数的范围不同

    •单精度浮点的表示范围:-3.40E+38 ~ +3.40E+38

    •双精度浮点的表示范围:-1.79E+308 ~ +1.79E+308

    (4)在程序中处理速度不同
    一般来说,CPU处理单精度浮点数的速度比处理双精度浮点数快

    例如:

    #include <stdio.h>
    void main()
    {
    float a=0.12345678901234567890;
    double b=0.12345678901234567890;
    printf(“a=%.30f\n”,a);
    printf(“b=%.30lf\n”,b);
    }

    输出结果:
    a=0.123456791043281560000000000000
    b=0.123456789012345680000000000000

    展开全文
  • 双精度浮点数在机内占8个字节 (2)有效数字位数不同 单精度浮点数有效数字8位 双精度浮点数有效数字16位 (3)所能表示数的范围不同 单精度浮点的表示范围:-3.40E+38 ~ +3.40E+38 双精度浮点的表示范围:-1.79E+...

    (1)在内存中占有的字节数不同
    单精度浮点数在机内占4个字节
    双精度浮点数在机内占8个字节

    (2)有效数字位数不同
    单精度浮点数有效数字7位
    双精度浮点数有效数字16位

    (3)所能表示数的范围不同
    单精度浮点的表示范围:-3.4E+38 ~ +3.4E+38
    双精度浮点的表示范围:-1.7E+308 ~ +1.7E+308

    (4)在程序中处理速度不同
    一般CPU处理单精度浮点数的速度比处理双精度浮点数快

    展开全文
  • 单精度浮点数和双精度浮点数

    千次阅读 2011-03-10 11:06:00
    根据IEEE754国际标准,常用的浮点数有两种格式 (1) 单精度浮点数(Single)(2)双精度浮点数(double)单精度浮点数 用来表示带有小数部分的实数,一般用于科学计算。 占用4个字节(32位)存储空间,包括符号位1位,阶码...
  • (1)在内存中占有的字节数不同单精度浮点数在机内占4个字节双精度浮点数在机内占8个字节(2)有效数字位数不同单精度浮点数有效数字8位双精度浮点数有效数字16位(3)所能表示数的范围不同单精度浮点的表示范围:-...
  • 单精度浮点数与双精度浮点数

    千次阅读 2012-03-28 07:04:56
    其数值范围为3.4E-38~3.4E+38,单精度浮点数最多有7位十进制有效数字,单精度浮点数的指数用“E”或“e”表示。  单精度浮点数有多种表示形式:±n.n(小数形式) ±n E±m(指数形式) ±n.n E ±m
  • 计算机程序中的浮点数分为单精度浮点数和双精度浮点数。 单精度和双精度精确的范围不一样。 计算机里的最基本的存储单位用位(bit)来表示。bit只能用来存储0或1。 稍大一点的单位是字节(Byte,简写为B)。 再大一...
  • 在蓝桥杯试题计算圆的面积时使用float表示的范围较小,出现负值。应使用double
  • 单精度和双精度浮点数数据类型   C、C++中使用到的单精度浮点数(float)类型和双精度浮点数(double)类型是在IEEE二进制浮点数算术标准(ANSI/IEEE Std 754-1985)中定义的。下面分别从存储格式、内存...
  • 双精度浮点数(double)       Decimal为SQL Server、MySql等数据库的一种数据类型,不属于浮点数类型,可以在定义时划定整数部分以及小数部分的位数。使用精确小数类型不仅能够保证数据计算更为精确,还可以节省...
  • 1、单精度,也就是 float ,在 32 位机器上用 4 个字节来存储的;而双精度double是用 8 个字节来存储的,这是他们最本质的区别。  2、由于存储位不同,8位,16...双精度浮点的表示范围:-1.79E+308 ~ +1.79E+308  ...
  • JS中使用IEEE-754规定的双精度浮点数,所有的算法也都符合IEEE-754规定的双精度浮点数运算。 双精度浮点数是一种64位(64 bit)的二进制数字格式。包括3个组成部分: 符号位 1位 阶码(指数部分) 11位 尾数(有效数...
  • 8字节16进制转双精度浮点数 前言 一、JS处理32位整型位运算? 示例:在JS中无论是整数还是小数都是按照64位的浮点数形式存储,而整数运算会自动转化为32位有符号整数。 有符号整数使用 31 位表示整数的数值,用第...
  • float类型存放双精度浮点数,具体取值范围依赖于构建python的c编译器,由于精度受限,进行相等性比较不可靠。如果需要高精度,可使用decimal模块的decimal.Decimal数,这种类型可以准确的表示循环小数,但是处理...
  • 单精度与双精度浮点数

    千次阅读 2017-01-26 19:24:47
    float是32位,double是64位float32位中,有1位符号位,8位指数位,23位尾数为double64位中,1位符号位,11位指数位,52位尾数位取值范围看指数部分float是有符号型,其中,8位指数位,2^8=(-128—127),因此实际的...
  • 写在前面碰巧最近定义接口的时候碰到了浮点数精度的问题,稍微整理了浮点数的一些知识点:浮点数的底层表示浮点数精度损失问题浮点数的表示范围精度小数的二进制表示浮点数的表示借鉴了科学计数法,比如在十进制...
  • ——《庄子·秋水》比较两个浮点数是否相等 并不是一个简单的问题:由于 浮点数精度误差,一般不能使用 绝对相等 比较;基于 绝对误差 的 近似相等 比较 要求使用者对 允许的误差范围 有明确的预期,并不通用;...
  • 在计算机的世界中,浮点数的表示范围有限。存在无穷多个不能用浮点数表示的数,或者说,浮点数只是近似地表示某一个数。有些情况下0.1+0.2!=0.3。目录什么是IEEE-754?指数偏移值--阶码规约与非规约以及其它特殊值...
  • 定点数硬件实现简单,但表示的范围有限,且部分的小数运算IP核只支持浮点数运算,因此这里还需要提到浮点数的相关内容。通过介绍FPGA浮点数的表示方法和用法,进而讲述计算机浮点数的表示规则,这部分涉及数电,微机...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 493
精华内容 197
关键字:

双精度浮点数范围