double 数据类型可以表示多少个数值?..答对了给分啊..

zhiang75 2008-03-10 09:14:53
double 数据类型可以表示多少个数值?..答对了给分啊..
...全文
1003 38 打赏 收藏 转发到动态 举报
写回复
用AI写文章
38 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhiang75 2008-03-12
  • 打赏
  • 举报
回复
因为double的尾数为52位,因此可以表示的精度为2^52个二进制数合十进制为4503599627370496
合十进制为

4503599627370496 个数值因二进制转换为十进制会有精度损失,因此会有15位到16位十进制精度一说

1000000000000000 十六位十进制
4503599627370496 实际可以表示的数值精度的个数
100000000000000 十五位十进制

可以看到4503599627370496是介于16位十进制和15位十进制之间的一个数值.

因为指数位为11位(其实就是小数点的位数)因此小数点可以表示的数值为2^11..小数点每移一位就是一个新的数值

正负符号一位可以表示的数值为2^1

因此可以表示的数值个数为
(2^1) * (2^11) * (2^52)

合并后为 2^(1+11+52)=2^64

对于无穷等特殊数值也是包括在这2^64种可能中的..请看IEEE的定义



zhiang75 2008-03-12
  • 打赏
  • 举报
回复
还真有答对的阿...就是 2^64
yilanwuyu123 2008-03-11
  • 打赏
  • 举报
回复
数目庞大····
guyehanxinlei 2008-03-11
  • 打赏
  • 举报
回复
我只知道很大,呵呵
dreamsnake 2008-03-11
  • 打赏
  • 举报
回复
double 数据类型可以表示多少个数值?

正确答案:一个.
一个Double数据类型在同一时间内,只会有一个值,所以也只能表示一个值.
至于这个值的范围,可以参见楼上各位达人的回复.

哈哈哈
myy 2008-03-11
  • 打赏
  • 举报
回复
既然是 64 位, 任你怎样排列组合,绝不会超过 2^64 个。

如果算上 PositiveInfinity、NegativeInfinity 和非数字 (NaN),
虽然我不知道它们内部如何表示的,但一定会“占用掉几个组合方式”,
因此真正“有效”的数值应该不到2^64 个。
gzamao 2008-03-11
  • 打赏
  • 举报
回复
建议参看一下计算机体系结构中的浮点运算器的构造即可明白, 几个要点: 1,浮点数是由两部分构成的, 这与定点数的概念完全不同; 2, 计算机世界里全是离散变量, 以有限代无限。计算机世界里,能表现的数必然是有限个。
suyubo1983 2008-03-11
  • 打赏
  • 举报
回复
学习~
feixiangzaici 2008-03-11
  • 打赏
  • 举报
回复
c#中的double
-1.79769313486232e308至+1.79769313486232e308
wisdomqq 2008-03-11
  • 打赏
  • 举报
回复
32位是2的32次方个,其他类推
qiyousyc 2008-03-11
  • 打赏
  • 举报
回复
存储64位浮点值的类型
大致计算结果就是:范围内的数值位数(排列组合)*范围
yangpeiyu 2008-03-11
  • 打赏
  • 举报
回复
Double(双精度浮点型)8 个字节
负值取值范围为 -1.79769313486231570E+308 到 -4.94065645841246544E-324;
正值取值范围为 4.94065645841246544E-324 到 1.79769313486231570E+308
ndsc_cherry 2008-03-11
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 r_swordsman 的回复:]
double 关键字表示存储 64 位浮点值的简单类型。

Double 值类型表示一个值介于 -1.79769313486232e308 和 +1.79769313486232e308 之间的双精度 64 位数字,以及 +0 或-0、PositiveInfinity、NegativeInfinity 和非数字 (NaN)。

精度: 15 到 16 位.


至于能表示多少个数值,近似无限个,因为存储的是一个近似值。
[/Quote]
Ivony 2008-03-11
  • 打赏
  • 举报
回复
这还用算。

double被IEEE定义为用64位二进制表示的浮点数,这个是IEEE定义的,不会随编译器什么的乱变!而他最多能表示多少个数不是很显然的么?64位二进制最多能表示2的64次方个数哈……

不过double还可以表示一些特殊的数,比如说NaN、正无穷、负无穷等。
brookmill 2008-03-11
  • 打赏
  • 举报
回复
2^64,和long、ulong一样多
zhangjjhua 2008-03-11
  • 打赏
  • 举报
回复
太多了吧,楼主问这个问题是有什么特殊的意思吗?
wenbin 2008-03-11
  • 打赏
  • 举报
回复
大也没用,内存不够
lovehongyun 2008-03-10
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 cnfixit 的回复:]
double 关键字表示存储 64 位浮点值的简单类型。下表显示了 double 类型的精度和大致范围。

类型 大致范围 精度 .NET Framework 类型
double ±5.0 × 10-324 到 ±1.7 × 10308 15 到 16 位 System.Double


-------------------摘自MSDN
[/Quote]
shinaterry 2008-03-10
  • 打赏
  • 举报
回复
^ō^ double.MinValue ~ double.MaxValue 之间(包括边界) 至于能表示多少个数值, 请自行计算吧(偷懒)...
chengqscjh 2008-03-10
  • 打赏
  • 举报
回复
double表示存储64位浮点值的类型
加载更多回复(18)

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧