当前位置: 首页 > news >正文

dedecms 购物网站书签制作手工

dedecms 购物网站,书签制作手工,四川发布干部任前公示,wordpress主题安装教程要求 不重复随机11位数字不占存储我们都知道11位数字(random)对应有最大值max和最小值min99999999999和10000000000.很简单的从最小值开始按顺序分发到最大值#xff0c;就满足了不重复#xff0c;不占存储#xff0c;11位数字的特性。那么接下来就要考虑如何生成随机数字这…要求 不重复随机11位数字不占存储我们都知道11位数字(random)对应有最大值max和最小值min99999999999和10000000000.很简单的从最小值开始按顺序分发到最大值就满足了不重复不占存储11位数字的特性。那么接下来就要考虑如何生成随机数字这个特性 如何随机 可以考虑将上面分发的11位id数字进行二进制打乱就可以生成随机数字啦。但是呢打乱后的数字长度可能低于11位或者高于11位那么如何有心机的进行二进制打乱才能保证固定11位呢。 11位数字(random) 不小于min 很自然的可以想到id从0到max-min分发再打乱再加上min肯定不会小于min但是可能会大于max。 id数字特性 random:是要生成的随机数字 id:是顺序分发的数字 minrandommax minminidmax 0idmax-min 复制代码11位数字(random) 不大于max 可以先观察一下max-min对应的二进制 1010011110100011010110000001111111111 如何进制顺序打乱不超过max-min对于上面二进制除高位之外的第一个为1的位之后取最大值即上述二进制变为max_diff 1001111111111111111111111111111111111 这样打乱顺序前三位保持不变后面打乱就可以不超过max-min.我这里是低8位和除去前三位的高八位交换的。 使用率 变化后的二进制的使用率有: max_diff/(max-min)85899345919/8999999999995.4% The code public class ShortChainUtils {private static final long MIN 10000000000L;private static final long SUFFIX_ID ((1L 34) - 1);private static final long PRE_ID (7L 34);private static final long MAX_ID 85899345919L;public static long next(long id) {if (id 0 || id MAX_ID) {throw new IllegalArgumentException(Illegal id: id);}// 非线性id swap(id, 7, 0);id swap(id, 6, 1);// Id后34位long value id SUFFIX_ID;// Id后34位的最低八位和高1-9位交换value (((value 8) | ((value 255) 26)));// Id前3位|Id后34位id (id PRE_ID) | value;// 加上最小值, 保证生成的11位id MIN;return id;}/*** xxxx xxxx xxxx x0xx xxxx xx0x xxxx xxxx|0000 0000 0000 0b00 0000 00a0* 0000 0000*/private static long swap(long value, int x, int y) {return (value (~(1 x)) (~(1 y))) | (((value x) 1) y) | (((value y) 1) x);}private ShortChainUtils() {};public static void main(String[] args){Set set new HashSet();for(int i0;; i) {long id ShortChainUtils.next(i);System.out.println(id ---i);if(set.contains(id)){System.out.println(duplicated);break;}set.add(id);}}复制代码不重复id 对于不重复id的分发可以参考 自增ID的实现 总结 该随机数字算法生成简单效率高容易扩展比如你想生成8位9位可以用类似方法不用记录已生成数字去重。 另外还要注意一点的是要想随机数字不重复重点是ID分发不重复。
http://www.zqtcl.cn/news/836777/

相关文章:

  • 手机p2p网站做平面设计兼职的网站有哪些
  • 贵金属网站建设唐山网站制作工具
  • 网站入门成都网站制作沈阳
  • 接做网站单子的网站做网站要会那些ps
  • 做盗市相关网站wordpress速度优化简书
  • 贵阳手机网站建设公司国内永久免费云服务器
  • 温州做网站定制哪家网络推广公司好
  • 招聘网站怎么做线下活动网站后台管理系统怎么开发
  • 西湖区外贸网站建设商梦建站
  • 网站首页设计注意斗蟋蟀网站建设
  • 石家庄网站建设远策科技网站建设公司人员配备
  • 手机怎么建网站链接专门做鞋子的网站吗
  • 网站建设设计作品怎么写网站建设 网站内容 采集
  • 自己做网站nas如何做网站大图片
  • 网站优化定做嘉兴模板建站代理
  • 南宁做网站比较好的公司有哪些花乡科技园区网站建设
  • 网站注册平台怎么注册申请空间 建立网站吗
  • 汕头住房与城乡建设网站做网站视频 上传到哪儿
  • 东莞网站关键词优化福建个人网站备案
  • 国外获奖flash网站泉州网站制作专业
  • 万网域名注册后如何做网站教学上海app开发和制作公司
  • 恩施网站建设公司个人网站怎么制作成图片
  • 泸州高端网站建设公司上海企业网站
  • wordpress 建站 知乎济南全包圆装修400电话
  • 织梦建设两个网站 视频影视公司宣传片
  • 北京小企业网站建设那个做网站好
  • 怎样用模块做网站深圳网站建设制作厂家
  • 网站项目中的工作流程网站建设社区
  • 建设厅网站查询电工证件提供网站建设公司哪家好
  • 免费网站软件下载安装称多网站建设