挑战极限。。。。。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进制数字个数就有数百个,对于任何一种运算,都需要在两个有
数百个元素的数组空间上做多重循环,还需要许多额外的空间存放计算的进位退位标志
及中间结果。当然其优点是算法符合人们的日常习惯,易于理解。