内容简介:使用IEEE 754双精度的许多编程语言提供了一个库函数来将这些二进制转换为字符串.例如,C有sprintf,C有stringstream,Java有Double.toString等.在内部,这些功能如何实现?也就是说,他们使用什么算法将double转换成字符串表示,因为它们通常受到程序员选择的精度限制?谢谢!
使用IEEE 754双精度的许多编程语言提供了一个库函数来将这些二进制转换为字符串.例如,C有sprintf,C有stringstream,Java有Double.toString等.
在内部,这些功能如何实现?也就是说,他们使用什么算法将double转换成字符串表示,因为它们通常受到 程序员 选择的精度限制?
谢谢!
各种软件环境用于将浮点数转换为字符串表示的代码通常基于以下出版物(Steele和White特别经常引用的工作):
Jerome T. Coonen浮点算法建议标准实施指南.电脑,卷13,No.1,1980年1月,第68-79页
盖伊. L. Steele Jr.和J. L. White.如何准确地打印浮点数.在ACM SIGPLAN’90编程语言设计和实现会议论文集112-126页,White Plains,纽约,1990年6月.
大卫·盖伊正确舍入的二进制和十进制二进制转换.技术报告90–10,AT& T Bell Laboraties,1990年11月.
一些相关的后续工作:
Robert G. Burger和R. Kent Dybvig.快速准确地打印浮点数.
在ACM SIGPLAN 1996会议论文集程序语言设计和实现中,第108-116页,美国宾夕法尼亚州费城,1996年5月
Guy L. Steele Jr.和Jon L. White.回顾:如何准确地打印浮点数. ACM SIGPLAN通知,第39卷,第4期,第372-389页,2004年4月
Florian Loitsch用整数快速准确地打印浮点数.在2010年ACM SIGPLAN编程语言设计与实现会议论文集,第233-243页,加拿大,加拿大多伦多,2010年6月
http://stackoverflow.com/questions/7153979/algorithm-to-convert-an-ieee-754-double-to-a-string
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。