算法
文章平均质量分 80
yayongm
这个作者很懒,什么都没留下…
展开
-
64位Hash算法Pascal版本
murmur的hash算法:http://sites.google.com/site/murmurhash/avalanchec代码:unsigned long long MurmurHash64B ( const void * key, int len, unsigned int seed ){ const unsigned int m = 0x5bd1e995;原创 2017-11-01 11:34:11 · 1793 阅读 · 0 评论 -
浮点处理器的威力
直接上代码:例子一:procedure TForm1.Button5Click(Sender: TObject);var i: Integer; dTime: Cardinal; v, i1, i2: Cardinal; f, f1, f2: Double;begin dTime := GetTickCount; v := 4101031原创 2017-12-08 09:08:37 · 455 阅读 · 0 评论 -
IE的deflate头
网上搜来的关键几句话:gzip与deflate区别 deflate使用inflateInit(),而gzip使用inflateInit2()进行初始化,比 inflateInit()多一个参数: -MAX_WBITS,表示处理raw deflate数据。因为gzip数据中的zlib压缩数据块没有zlib header的两个字节。使用inflateInit2时要求zlib库忽略zlib...原创 2018-04-16 10:24:01 · 387 阅读 · 0 评论 -
原生的没落与脚本的崛起 - 从科幻小说到现实漫谈编程语言
郑重声明:科幻小说有很多内容是经不起认真推敲的,即使是所谓的硬科幻。但是,这种硬伤并不影响我们学习他们从另一个角度来观察、思考我们面临的问题,因此,在这个基础上学习别人先进思想经验同时摈弃糟粕是非常必要的。所以在看本文时一定要牢牢记住这句话以免被带偏。慎重慎重!还是先从科幻小说《三体》开始,三体中非常震撼人心一个武器是二向箔,这是一种直接将三维空间坍缩到二维空间的武器(注意,我们不是来探讨硬伤的,...原创 2018-05-02 11:43:20 · 404 阅读 · 0 评论 -
这个确实遇到过了!
刚看到一个小故事:某公司有个很著名的故事:有一个系统是用来发放固定电话卡号的。发放的时候为了让号码能随机化,需要取系统时间作为种子生成随机数。但这个算法有个问题,如果短时间内被调用多次,取得到的系统时间(可能是毫秒)就是相同的。那么计算生成的前后的卡号就是有规律的。原来的程序员在代码中增加了一行语句seep(1),通过这行语句强制每次调用取得的系统时间是不同的。好了,故事来了。这段代码...原创 2019-01-08 11:18:41 · 223 阅读 · 0 评论