数据结构&算法
数据结构&算法相关
forBurnInG
对负责的工作会付出全部精力和热情,力争在最短时间内将目标达成,喜欢挑战,能在较短时间内适应高压力的工作。
展开
-
雪花算法(snowflake) :分布式环境,生成全局唯一的订单号
snowflake方案snowflake是Twitter开源的分布式ID生成算法,结果是一个long型的ID。这种方案大致来说是一种以划分命名空间(UUID也算,由于比较常见,所以单独分析)来生成ID的一种算法,这种方案把64-bit分别划分成多段,分开来标示机器、时间等。其核心思想是:使用41bit作为毫秒数,10bit作为机器的ID(5个bit是数据中心,5个bit的机器ID),12bit作为毫秒内的流水号,最后还有一个符号位,永远是0。比如在snowflake中的64-bit分别表示如转载 2020-12-05 15:03:39 · 953 阅读 · 0 评论 -
补码原理——负数为什么要用补码表示
文首 我们都知道负数在计算机中是以补码(忘了补码定义的戳这里)表示的,那为什么呢?本文尝试了解补码的原理,而要想理解它,首先得理解算术中“模”的概念。所以首先看一下什么是模,然后通过一个小例子来理解补码。1 模(Modulo)1.1 什么是模数In mathematics, modular arithmetic is a system of arithmetic for intege...转载 2019-12-26 14:16:06 · 224 阅读 · 0 评论 -
JAVA中常用的二进制位操作
一,计算某个正数的二进制表示法中 1 的个数1 //求解正数的二进制表示法中的 1 的位数2 private static int countBit(int num){3 int count = 0;4 for(; num > 0; count++)5 {6 num &= (num...转载 2019-12-24 16:02:33 · 151 阅读 · 0 评论