bit

Snowflake雪花算法(2)

半城伤御伤魂 提交于 2020-02-06 08:59:20
package com.black.uuid.util; /** * snowflake雪花算法 * * @author Black * @date 2019年7月6日 下午4:15:11 * @version 0.1.0 * @copyright black.cn */ public class SnowflakeUtil { /** * 起始的时间戳 */ private final static long START_STMP = 1480166465631L; /** * 每一部分占用的位数 */ private final static long SEQUENCE_BIT = 12; // 序列号占用的位数 private final static long MACHINE_BIT = 5; // 机器标识占用的位数 private final static long DATACENTER_BIT = 5;// 数据中心占用的位数 /** * 每一部分的最大值 */ private final static long MAX_DATACENTER_NUM = -1L ^ (-1L << DATACENTER_BIT); private final static long MAX_MACHINE_NUM = -1L ^ (-1L << MACHINE_BIT);

第1.2节 Python学习环境的使用

前提是你 提交于 2020-02-05 09:48:43
Python的环境安装好以后,可以通过IDLE(Python 3.7 64-bit)进入图形界面使用Python,也可以通过Python 3.7 64-bit进入命令行交互式界面,两者都可以使用,不过初学者建议使用IDLE图形界面。本讲内容都是基于WIN7 python3.7的版本来讲解。 一、 IDLE图形界面使用 交互式执行界面:在图形界面也支持交互式的Python命令执行,这个执行界面与非图形界面的交互式类似,但交互更友好,比如错误信息用红色字体等。 登录交互界面后,会出现命令行提示符:>>>,在这个提示符后直接输入Python命令就可以执行 文件执行界面:先用File菜单open子菜单打开一个已经编辑好的Python代码文件( 文件类型为.py ),或者new编辑一个新文件,然后在run菜单run module来或按F5执行,执行前如果文件没有保存系统会要求保存,执行时新开一个窗口展示执行的情况,文件窗口保持不变 二、 交互式界面 交互式命令行:选择Python 3.7 64-bit程序进入交互式命令行, 进入后展示>>>命令提示符,在这个提示符下可以逐行输入命令进行执行; 文件命令行:如果要直接在命令行方式执行Python文件,可以进入DOS命令行后,在需要执行的代码文件目录下执行:Python py文件,如Python test.py

Redis百亿级Key存储方案

岁酱吖の 提交于 2020-02-04 23:53:14
1 需求背景 该应用场景为DMP缓存存储需求,DMP需要管理非常多的第三方id数据,其中包括各媒体cookie与自身cookie(以下统称supperid )的mapping关系,还包括了supperid的人口标签、移动端id(主要是idfa和imei)的人口标签,以及一些黑名单id、ip等数据。 在hdfs的帮助下离线存储千亿记录并不困难,然而DMP还需要提供毫秒级的实时查询。由于cookie这种id本身具有不稳定性,所以很多的真实用户的浏览行为会导致大量的新cookie生成,只有及时同步mapping的数据才能命中DMP的人口标签,无法通过预热来获取较高的命中,这就跟缓存存储带来了极大的挑战。 经过实际测试,对于上述数据,常规存储超过五十亿的kv记录就需要1T多的内存,如果需要做高可用多副本那带来的消耗是巨大的,另外kv的长短不齐也会带来很多内存碎片,这就需要超大规模的存储方案来解决上述问题。 2 存储何种数据 人⼝标签主要是cookie、imei、idfa以及其对应的gender(性别)、age(年龄段)、geo(地域)等;mapping关系主要是媒体cookie对supperid的映射。以下是数据存储⽰示例: 1) PC端的ID: 媒体编号-媒体cookie=>supperid supperid => { age=>年龄段编码,gender=>性别编码,geo=

Is 2s complement a way to store negative number?

浪子不回头ぞ 提交于 2020-02-04 10:45:57
问题 I have read many articles and SO answers to understand 2s complement . They have helped me a lot. However, there are few doubts in my mind about 2s complement . 1) Is 2s complement a way to store negative numbers in order to make operation easy or have some other applications too? 2) 2s complement is taken automatically when computer see a negative number? 3) Taking 2s complement is -- compiler's job or done by processor or what? 4) When 2s complement is taken at -- compile time, run time or

Is 2s complement a way to store negative number?

一笑奈何 提交于 2020-02-04 10:44:21
问题 I have read many articles and SO answers to understand 2s complement . They have helped me a lot. However, there are few doubts in my mind about 2s complement . 1) Is 2s complement a way to store negative numbers in order to make operation easy or have some other applications too? 2) 2s complement is taken automatically when computer see a negative number? 3) Taking 2s complement is -- compiler's job or done by processor or what? 4) When 2s complement is taken at -- compile time, run time or

bit计数

偶尔善良 提交于 2020-02-03 13:46:55
这个方法牛皮 思路 对于所有的数字,只有两类: 奇数:二进制表示中,奇数一定比前面那个偶数多一个 1,因为多的就是最低位的 1。 举例: 0 = 0 1 = 1 2 = 10 3 = 11 偶数:二进制表示中,偶数中 1 的个数一定和除以 2 之后的那个数一样多。因为最低位是 0,除以 2 就是右移一位,也就是把那个 0 抹掉而已,所以 1 的个数是不变的。 举例: 2 = 10 4 = 100 8 = 1000 3 = 11 6 = 110 12 = 1100 另外,0 的 1 个数为 0,于是就可以根据奇偶性开始遍历计算了。 作者:duadua 链接:https://leetcode-cn.com/problems/counting-bits/solution/hen-qing-xi-de-si-lu-by-duadua/ 来源:力扣(LeetCode) 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 观察大法好,牛皮 class Solution { public : vector < int > countBits ( int num ) { vector < int > res ( num + 1 , 0 ) ; res [ 0 ] = 0 ; for ( int i = 1 ; i <= num ; i ++ ) { if ( i % 2 ) {

micro:bit用蜂鸣器制作计时器

笑着哭i 提交于 2020-02-03 09:01:38
micro:bit小主板一般初学Python和图形编程的人都很喜欢,其中还有很多插件,声呐等。 今天我来教大家micro:bit连接蜂鸣器制作计时器。 1.蜂鸣器的连接方法。 打开micro:bit的盒子,拿出蜂鸣器,蜂鸣器正极用鳄鱼钳夹住,另一端连接micro:bit引脚GND。蜂鸣器另一接口用鳄鱼钳夹住,另一端连接micro:bit引脚P0 输入micro:bit的Python代码。 input . onButtonPressed ( Button . A , function ( ) { set_time += 1 basic . showNumber ( set_time ) basic . clearScreen ( ) } ) input . onButtonPressed ( Button . AB , function ( ) { in_time = set_time * 60 in_time = in_time + set_time_m basic . showIcon ( IconNames . Diamond ) for ( let index = 0 ; index < in_time ; index + + ) { if ( 循环变量 >= in_time - 10 ) { j = 0 if ( 循环变量 == in_time - 10 ) { basic

GPO - General GPO Settings(3)

限于喜欢 提交于 2020-01-31 20:26:00
WMI filtering Setting - Differentiating Installation Between Operations and Architecture. WMI SQL General script: 64-bit select * from Win32_OperatingSystem WHERE OSArchitecture = "64-bit" AND ProductType="1" 32-bit select * from Win32_OperatingSystem WHERE OSArchitecture = "32-bit" AND ProductType="1" Windows 10 select Version from Win32_OperatingSystem WHERE Version like "10.%" AND ProductType="1" Windows 7, 8 and 8.1 select Version from Win32_OperatingSystem WHERE Version like "6.%" AND ProductType=”1″ AND OSArchitecture = “64-bit” select Version from Win32_OperatingSystem WHERE Version

JS能力测评经典题之Number类型

岁酱吖の 提交于 2020-01-31 19:12:43
题目描述 获取数字 num 二进制形式第 bit 位的值。注意: 1、bit 从 1 开始 2、返回 0 或 1 3、举例:2 的二进制为 10,第 1 位为 0,第 2 位为 1 输入例子: valueAtBit(128, 8) 输出例子: 1 function valueAtBit(num, bit) { var binVal = num.toString(2); return binVal[binVal.length-bit]; }   注意 : num.toString(2)返回的是2进制数的字符串形式,bit指的是从左数起且从1开始,而字符串索引是从右数起,且从0开始  题目描述 给定二进制字符串,将其换算成对应的十进制数字 输入例子: base10('11000000') 输出例子: 192 function base10(str) { return parseInt(str,2); } 注意:  parseInt方法可以将其它进制转换为十进制,只需要给该方法传入需要转换的字符串和该字符串的进制表示两个参数即可。 来源: https://www.cnblogs.com/learning-/p/6607340.html

codeforces round 430 div 2

眉间皱痕 提交于 2020-01-31 07:19:15
A:略坑 枚举l-r,看是否能整除k且商的范围是不是在x,y里 #include<bits/stdc++.h> using namespace std; int l, r, x, y, k; int main() { cin >> l >> r >> x >> y >> k; for(int i = l; i <= r; ++i) if(i % k == 0) { int t = i / k; if(t >= x &&t <=y ) { puts("YES"); return 0; } } puts("NO"); return 0; } View Code B:判断一下就行了 #include<bits/stdc++.h> using namespace std; double r, d; int n, ans; double dis(double x, double y) { return sqrt(x * x + y * y); } int main() { cin >> r >> d >> n; for(int i = 1; i <= n; ++i) { double x, y, R; scanf("%lf%lf%lf", &x, &y, &R); double dist = dis(x, y); if(dist - R >= r - d && dist + R <= r)