![]() |
1
8
你的答案在你链接的同一页上:
尾数的24位给你(大约)7 十进制的 精度位数(因为2^24~=10^7)。 编辑 添加: 注意,每个人都在说“大约”——这是有原因的:) 二进制浮点数和十进制文字不一定以直观的方式一起使用。用于背景阅读 What Every Computer Scientist Should Know About Floating-Point Arithmetic . 还要注意说“大约7位十进制数字 精度 '与能够存储超过7个有效数字的值不兼容!但是,这意味着该数据类型将无法区分0.180000082和0.180000083,因为它实际上没有存储 准确的 值:
事实是
|
![]() |
2
1
您将二进制(以2为底)精度与十进制(以10为底)精度混淆。24位为您提供大约7位十进制数字。 |
![]() |
3
1
SQL Server使用4个字节或8个字节来存储非十进制浮点数。 如果在float<1>to float<24>范围内指定了real或任何值,SQL Server将在内部使用float<24>。如果您使用浮动或浮动范围内的任何内容浮动<25>来浮动<53>(限制),则它使用浮动<53>,即所谓的双精度。 SQL Server 2005中float的msdn文档如下: float and real (Transact-SQL) 如果您有特定的精度需求,请使用十进制,它提供可配置的精度和比例: decimal and numeric (Transact-SQL) |
![]() |
BlurKid · R中for循环时结果的奇怪差异 8 月前 |
![]() |
Dakolas · 对python十进制库感到困惑 1 年前 |
![]() |
IIXenon · for循环的printf仅跳过0[已关闭] 1 年前 |
![]() |
pmor · 如何计算转换规范%.*f的精度以保持浮点值的精度? 2 年前 |
|
Dessie · 如何提高此python代码中的计算精度 2 年前 |