电子学报 ›› 2019, Vol. 47 ›› Issue (5): 1180-1184.DOI: 10.3969/j.issn.0372-2112.2019.05.027

• 科研通信 • 上一篇    下一篇

基于FPGA的零误差大数阶乘算法的设计与实现

刘公绪, 史凌峰, 辛东金   

  1. 西安电子科技大学电子工程学院, 陕西西安 710071
  • 收稿日期:2018-03-15 修回日期:2018-10-15 出版日期:2019-05-25 发布日期:2019-05-25
  • 作者简介:刘公绪 男,1992年出生于河南兰考.2015年毕业于中北大学仪器与电子学院,同年保送至西安电子科技大学电子工程学院,现为硕博连读生.研究方向为惯性导航、室内定位、多传感器融合算法等.E-mail:liugx@stu.xidian.edu.cn;史凌峰 男,1970年生于陕西省宝鸡市.1995年,分别于1995年、2003年和2008年从中国计量学院获得无线电学士、西安电子科技大学获得电路与系统硕士和博士学位.现为西安电子科技大学电子工程学院教授/博导.主要研究兴趣为导航与定位、射频与微波技术等.E-mail:lfshi@mail.xidian.edu.cn;辛东金 男,1986年出生于山东济宁.西安电子科技大学超高速电路与电磁兼容教育部重点实验室博士研究生,研究方向为物联网通信及滤波器.E-mail:xindj@stu.xidian.edu
  • 基金资助:
    卫星导航系统与装备技术国家重点实验室开放基金(No.SKX182010927)

FPGA-Based Zero-Error Factorial Algorithm for Large Integer

LIU Gong-xu, SHI Ling-feng, XIN Dong-jin   

  1. School of Electronic Engineering, Xidian University, Xi'an, Shaanxi 710071, China
  • Received:2018-03-15 Revised:2018-10-15 Online:2019-05-25 Published:2019-05-25

摘要: 随着大数据时代的到来,人们对超高精度科学计算的需求日益迫切,其中一个难点是大数阶乘问题.斯特林公式作为计算大数阶乘的传统近似方法,远不能在精度上满足要求,其它的阶乘算法可以实现较高的精度,但以牺牲大量存储空间为代价.本文提出一种具有零误差的大数阶乘算法,可以根据问题规模优化存储空间,利用并行计算的思想和FPGA的优势来提高计算速度,测试结果表明,所提出的算法具有较好的时空效率,可以应用在如大数阶乘计算器等诸多领域.

关键词: 阶乘算法, 存储空间, 并行计算, FPGA

Abstract: With the advent of the era of big data,there is an increasingly urgent need for ultra-high precision scientific calculation.One of the difficulties is the large number factorial problem.Stirling formula as the traditional approximate method of calculating factorial of large numbers cannot meet the accuracy requirements.Other factorial algorithm can achieve high accuracy,but at the cost of a large amount of storage space.This paper puts forward a factorial algorithm of large numbers with zero error that can optimize storage space according to the problem size.Besides,the computing speed can be improved by making full use of parallel computing and the advantages of field programmable gate array (FPGA).The test results show that the proposed algorithm has better efficiency of time and space,which can be used in many fields such as large factorial calculator.

Key words: factorial algorithm, storage space, parallel computation, FPGA (field programmable gate array)

中图分类号: