Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Floating point 在浮点数据中字母D代表什么_Floating Point - Fatal编程技术网

Floating point 在浮点数据中字母D代表什么

Floating point 在浮点数据中字母D代表什么,floating-point,Floating Point,我在下面附上了两张图片,其中一张是字母D。为什么使用字母D?字母E代表指数,但字母D代表什么 请告诉我D的用法 谢谢它代表了数据的精度。通常D表示双精度,因为单精度是4字节,双精度是8字节,每个精度如下: SINGLE 2.802597E-45 to 3.402823E+38 DOUBLE 4.490656458412465D-324 to 1.797693134862310D+308 QB64还有一个32字节的变量,它是: _FLOAT 1.18E-4932 to 1.18E+493

我在下面附上了两张图片,其中一张是字母D。为什么使用字母D?字母E代表指数,但字母D代表什么

请告诉我D的用法
谢谢

它代表了数据的精度。通常D表示双精度

,因为单精度是4字节,双精度是8字节,每个精度如下:

SINGLE  2.802597E-45 to 3.402823E+38
DOUBLE  4.490656458412465D-324 to 1.797693134862310D+308
QB64还有一个32字节的变量,它是:

_FLOAT  1.18E-4932 to 1.18E+4932

将单个精度字符串转换为原始值的另一种方法:

REM Convert 4-byte IEEE string to single variable
S! = -3.1415
S$ = MKS$(S!)
Byte0 = ASC(MID$(S$, 1, 1))
Byte1 = ASC(MID$(S$, 2, 1))
Byte2 = ASC(MID$(S$, 3, 1))
Byte3 = ASC(MID$(S$, 4, 1))
Exponent = Byte3 AND &H7F
Exponent = Exponent * 2 + Byte2 \ 128 - &H7F
Mantissa! = Byte2 AND &H7F
Mantissa! = Mantissa! * &H10000 + Byte1 * &H100 + Byte0
Mantissa! = 1 + Mantissa! / (&H1000000 / 2)
Mantissa! = Mantissa! * 2 ^ Exponent
IF (Byte3 AND &H80) = &H80 THEN
    Mantissa! = -Mantissa!
END IF
PRINT Mantissa!
END

这是从哪本书或tesr上取的?背景是什么?它是为一种特定的编程语言编写的吗?不,它是为计算机科学9班学生编写的一本教材。不是针对特定语言,请举例说明?6.67D-11表示6.67*10^(-11),但精度为双精度。其工作方式与E相同,但E通常表示单精度(4字节),D表示双精度(8字节)。至少在中国是这样的FORTRAN@SidraM请注意,这是特定于编程语言的,因此我在其他评论中提出了我的问题。这不是一个通用语法。这里有一个关于双精度的有趣主题:这里有一个关于单精度的有趣主题:这并没有回答这个问题。。。您是否打算将其编辑为其他答案?是的,我将其分为两个答案,因为其中一个答案稍微偏离主题,但与解析单个精度值相关。