C++中的数据类型是这样的,如double,
在Msdn里有样的描述:
double 8 none 1.7E +/- 308 (15 digits)
里面有几个地方不明白!
1,应该有正负之分吧!
是不是+/-1.7e+/-308?
2、15是小数位还是指数位,或者是其他的位?
如果是小数位,则应该是2^(15-1)>308,这是怎么回事,如何理解?
在这里领教各位高手的高招!
在Msdn里有样的描述:
double 8 none 1.7E +/- 308 (15 digits)
里面有几个地方不明白!
1,应该有正负之分吧!
是不是+/-1.7e+/-308?
2、15是小数位还是指数位,或者是其他的位?
如果是小数位,则应该是2^(15-1)>308,这是怎么回事,如何理解?
在这里领教各位高手的高招!
same as double.但是在Dev-CPP里有测试的值是12,难道连这个最基本的都不能保证与标准accordance?
1.7的+308和-308次方.-308时描述精确度.就是能精确到小数点后15位.+380表示double能表示的最大值
打个比方吧:0xff, 你可以无符号的:255,也可当成有符号的-1;0x61,你可以当成整数97,也可当成字符“A”。
当然对于有小数部分的,计算机中还有它固有的表示办法。
显然double达不到这个最大值,都搞晕了.现在的东西写法都没有标准.
#include<iostream>
#include<limits>using namespace std;int main()
{
cout << "double: " << numeric_limits<double>::max() << endl;
return 0;
}//output:
//double: 1.79769e+308
我已经查了好多资料,也不知道其所以然了。而且,这个Double会不会遵守IEEE754的标准,我想是个问题!