在C 中使用时,D和E符号之间有什么区别

What is the difference between D and E notations when used in C++?

本文关键字:符号 之间 区别 什么      更新时间:2023-10-16

在给定链接中:阅读科学符号D 据说D和E(或E)是相似的。但是,当我在C 中运行以下代码时:

long double x;
cin >> x;
printf("%.30Lf",x);

和给出输入123D+01,输出为123.000000000000000000000000000000,当我给出输入123D-01时,输出仍然为123.000000000000000000000000000000。但是,对于输入是123E+01,输出为1230.000000000000000000000000000000,对于输入123E-01,输出为12.300000000000000000173472347598

在八度范围内,>> str2num("123D+01")给出了输出ans = 1230
对于>> str2num("123D-01"),输出为ans = 12.300

请解释!

c 中没有d符号。在您的示例中,在字符'D'上,该数字没有进一步解析。因此,您的两个案例都会导致123. e符号照常工作。

d表示法来自fortran,这意味着双重精度常数。由于通常用于数学,因此八度支持此符号。