首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

挑战极限。C语言如何避免超大数据

2012-02-25 
挑战极限。。。。。C语言如何处理超大数据?大家节日快乐!要求是这样的:根据提供的一个很大的数值来计算日期时间

挑战极限。。。。。C语言如何处理超大数据?
大家节日快乐!
要求是这样的:
根据提供的一个很大的数值来计算日期时间。
这个已知的数值计算方法是这样的,
从1960.1.1零点零时开始所经历的
天   ×   24小时   ×   60分钟   ×   60秒   ×1000   ×   10
比如一直到2007.2.14   00:00:00就可以得到:
(2007-1960)×365×24*60*60*1000*10
当然,其中也要考虑闰年问题,

假如给定值如下:
74BC2AC188CB
请教大家,
如何把这个数保存,并除以   24*60*60*1000*10
得到天数?
没有处理过这么大的数,
麻烦大家了,

[解决办法]
最简单的办法是将大数当作字符串进行处理,也就是将大数用10进制字符数组进行表示,
然后模拟人们手工进行“竖式计算”的过程编写其加减乘除函数。但是这样做效率很低,
因为1024位的大数其10进制数字个数就有数百个,对于任何一种运算,都需要在两个有
数百个元素的数组空间上做多重循环,还需要许多额外的空间存放计算的进位退位标志
及中间结果。当然其优点是算法符合人们的日常习惯,易于理解。

热点排行