在计算机科学中,浮点(英语:floating point,缩写为FP)是一种对于实数的近似值数值表现法, 类似于十进制的科学计数法.
variable-precision SWAR 算法详解
在学习redis源码时,发现BITCOUNT
命令实现用到了variable-precision SWAR 算法。
BITCOUNT
命令要解决的问题:统计一个位数组中非0二进制位的数量。在数学上被称为“计算汉明重量(Hamming Weight)”
目前已知效率最好的通用算法为variable-precision SWAR 算法。
该算法通过一系列位移和位运算操作,可以在常数时间内计算多个字节的汉明重量,并且不需要使用任何额外的内存。
IPython学习环境配置
简明双标指南
最近一段时期有很多事情发生,也颠覆了我们的认知(如I cannot breathe),同时也发现了很多双标事件。
下面就简单地总结下,如何双标。
双标的核心是,定性的看问题,不要就事论事具体分析。
双标的要点之一,选取部分真相进行概括定性。
这里的选取非常关键,我们应该选择性地看见我们想看见的东西。假如B捡了地上的一块钱并据为己有,贪小便宜不是君子所为,这人肯定是品行不端。假如A也这么干了,对不起我没有看见。假如A捡了垃圾放垃圾桶了,这时我们就可以说,从一件微不足道的事情上就可以看出A真是道德高尚。
双标的要点之二,定性之后的上纲上线。
由于第一步我们已经定性了A和B,以后再发生事情就很好处理了。假如都做了好事,A就是好人性质的体现,B因为他是坏人肯定是另有目的的,是伪装的。假如都做了坏事,反过来处理就好了。比如,你认定A是好人,B是坏人,假设他们都随地吐痰了。这时就可以说A肯定是不小心的,大善人怎么可能做这种事;可以说B真是狗改不了吃屎,连基本的公德心都没有。假设都做了好事,扶老奶奶过马路,A就是一以贯之的道德楷模,值得学习;B肯定是装的,为了方便自己做坏事。
Python asyncio 简易教程
asyncio
是Python 3.4版本引入的标准库,直接内置了对异步IO的支持。
asyncio
的编程模型就是一个消息循环。我们从asyncio
模块中直接获取一个EventLoop
的引用,然后把需要执行的协程扔到EventLoop
中执行,就实现了异步IO。
Python2迁移Python3指南
前置要求
- 了解Python3和Python2的区别,参考Python2和Python3区别,Python3新特性
- 完备的测试用例
- 必要的工具:future,用于自动修改不兼容的语法。six,用于Python版本判断。pylint,语法检查
- 做好备份
- 测试(至关重要),下面的每一步改动都得确保代码行为没有发生变化。
future安装
pip install future -U