#用位

[编程珠玑]如何使用位逻辑来实现位向量

编程珠玑开篇的一道题目是这样的:如何使用位逻辑运算(如与、或、移位)来实现位向量? 一.何为位向量?在许多情况下(如对象为满足或不满足某条性质的情况),用一个二进制位就足够表示一个对象了。但是,不能用一个变量名直接表示一个位(不存在单独为一位的数据类型)。于是,就考虑将多个位组成一个基本数据类型,通过对这个基...

使用位图算法来优化签到历史存储空间占用

实际开发中有这样的场景,用户每日签到,可获取相对应的积分赠送,如果连续签到,则可获得额外的积分赠送。本文主要讲解使用位图算法来优化签到历史记录的空间占用。当然如果业务中仅仅是获取连续签到的最大天数,使用一个计数器即可记录。 需求:1.记录一年的签到历史2.获取某月的签到历史3.获取过去几天连续签到的最大天数&...

用位运算求一个数的绝对值

    我们知道在我们对一个数进行位运算的时候,是在这个数的补码上进行的,对于补码我们知道,正数的补码是原码,负数的补码为原码除了最高位的符号位,取反,然后加1。把补码转换成原码的时候,正数还是原码,负数时把补码除了符号位取反然后加1(我们可以发现如果这时候连符号位也求反,然后加...