在PDF格式中,数字1.e10应写为1000000000。?
查看关于类型为数字的对象如何 根据其通知的有效语法编写 注意:PDF不支持带字符的数字的PostScript语法 非小数半径(如16#FFFE)或指数形式(如 同于6.02E23) 但是,它也没有规定数字应在的最大范围内。这似乎表明写作是正确的在PDF格式中,数字1.e10应写为1000000000。?,pdf,biginteger,specifications,Pdf,Biginteger,Specifications,查看关于类型为数字的对象如何 根据其通知的有效语法编写 注意:PDF不支持带字符的数字的PostScript语法 非小数半径(如16#FFFE)或指数形式(如 同于6.02E23) 但是,它也没有规定数字应在的最大范围内。这似乎表明写作是正确的 1.00E10as1000000000 或 1.00E-50as0.00000000000000000000000000000000000000000000000000000001 因此,这个问题有两个方面: a) 符号是否正确(如示例所示) b) p
1.00E10
as1000000000
或
1.00E-50
as0.00000000000000000000000000000000000000000000000000000001
因此,这个问题有两个方面:
- a) 符号是否正确(如示例所示)
- b) pdf格式是否期望实现使用(或至少退回) 对于某些bigint/bigfloat处理),它似乎不提供 数字的范围是多少
1000000000
是一个整数值对象,0.00000000000000000000000000000000000000000001
是一个实值数值对象
关于你的问题(b)
pdf格式是否希望实现使用(或者至少退回到一些bigint/bigfloat处理)数字,因为它似乎没有为数字提供任何范围
不,在上面引用的同一部分中,您还可以找到
数字的范围和精度可能受到运行一致性读取器的计算机中使用的内部表示的限制;附录C给出了典型实施的这些限制
附录C建议至少达到以下限值:
整数
2,147,483,647
最大整数值;等于231− 一,
整数
-2,147,483,648
最小整数值;等于−231
real
±3.403 × 1038
最大和最小实值(近似值)
real
±1.175 × 10-38
最接近0的非零实值(近似值)。比这些值更接近的值将自动转换为0
real
5.
小数部分精度的有效小数位数(近似值)
(ISO 32000-1)
整数
整数值(如对象编号)通常可以在32位内表示
实数
现代计算机通常使用IEEE浮点运算标准(IEEE 754)单精度或双精度来表示和处理实数
(ISO 32000-2)因此您的答案确认,对于表示
1.00E-37
(建议在支持的范围内),PDF语法中的值应正确表示为该字符串0.0000000000000000000000000000001
。(也非常感谢您插入对其他标准的引用,我不知道1.7引用部分过时)@humanityANDpeace您甚至可以继续表达您问题中的1E-50,您只需注意,PDF处理器很可能会将其视为零。因为1E-50
超出安全范围。无论如何,我要掌握的是一个挑战,或者在我看来是必须使用冗长的符号。使用类似于1e-50
或1e50
的符号没有变化,但它必须始终是一个多或少约53个字符的字符串标记(以防有小数点分隔符和符号)。@humanityANDpeace总是很长的符号,是的。但这并不是那么糟糕,一方面,你通常很少需要这么小或这么大的数字,另一方面,这样的零序列通常可以很好地压缩(如果在流中)。@mki我理解,主要是对于那些罕见的大数字,记法似乎很不寻常/奇怪,这促使我提出这个问题,我想我可能还没有完全理解。但现在看来,这是我第一次想到的:0000000000000000000000000000001
是PDF的语法,用于1.00E-37
,我现在毫无疑问地知道了!谢谢你,mki