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

河南省建设招投标网站苏州网站建设的公司哪家好

河南省建设招投标网站,苏州网站建设的公司哪家好,烟台展厅设计公司,哪里的网络推广培训好文章目录 为什么有52429的常量呢?对于为什么选择52429?那么为什么不再选几位呢? 在JDK8源码中 java.lang.Integer有52429作为常量出现, 为什么有52429的常量呢? static void getChars(int i, int index, char[] buf) {int q, r;…

文章目录

    • 为什么有52429的常量呢?
    • 对于为什么选择52429?
    • 那么为什么不再选几位呢?

在JDK8源码中 java.lang.Integer有52429作为常量出现,

为什么有52429的常量呢?

static void getChars(int i, int index, char[] buf) {int q, r;int charPos = index;char sign = 0;if (i < 0) {sign = '-';i = -i;}// Generate two digits per iterationwhile (i >= 65536) {q = i / 100;// really: r = i - (q * 100);r = i - ((q << 6) + (q << 5) + (q << 2));i = q;buf [--charPos] = DigitOnes[r];buf [--charPos] = DigitTens[r];}// Fall thru to fast mode for smaller numbers// assert(i <= 65536, i);for (;;) {q = (i * 52429) >>> (16+3); //相当于i/10;r = i - ((q << 3) + (q << 1));  // r = i-(q*10) ...buf [--charPos] = digits [r];i = q;if (i == 0) break;}if (sign != 0) {buf [--charPos] = sign;}
}public static String toString(int i) {if (i == Integer.MIN_VALUE)return "-2147483648";int size = (i < 0) ? stringSize(-i) + 1 : stringSize(i);char[] buf = new char[size];getChars(i, size, buf);return new String(buf, true);
}

固定的形式是一个整型变量乘上52429,然后向右移19位。很自然想到2^19=524288,那么这个52429就不难理解了,应该就是除10的操作。

除法是很慢的,而乘法和以为却相对较快,所以为了优化这一点点的速度,java采用了乘52429再移19位的方法。

对于为什么选择52429?

这里列出几个取值的精度:

 103/1024≈0.1006 (2^10)205/2048≈0.100098 (2^11)……26215/262144≈0.100002 (2^18)52429/524288≈0.10000038 (2^19)104858/1048576≈0.10000038 (2^20)

可见,到2^19次方左右,除10的精度已经非常高了。

那么为什么不再选几位呢?

原因很简单:

  • java中整型占32位,而52429的二进制是1100110011001101(16位),65535的二进制是111111111111111(16位),相乘结果为31位。
  • 通过阅读上述源码的这个方法可知,i是不会大于65535的(注释中也提到:assert(i <= 65536, i);),所以算上符号位,能达到精度最大而又不溢出的也就是2^19了。
http://www.yayakq.cn/news/939933/

相关文章:

  • 镇江网站设计多少钱wordpress添加广告代码
  • 网站错误代码 处理郑州小程序开发制作
  • 适合个人网站网页设计素材推荐
  • 佛山网站建设计国内广告公司排行
  • 什么是网站的后台石家庄推广网站
  • 交互式手机网站网上书店电子商务网站建设
  • 自己做装修网站需要多少钱网站 多语言
  • 设计网站公司搜索y湖南岚鸿知名wordpress 新闻列表
  • 中山大兴网站建设新乡最新消息
  • 如何注册域名和网站遵义市双控体系建设网站
  • 网站建设与制作区别电子商务网站建设与维护试卷答案
  • 六安市建设局网站开发板组装实验报告
  • 旅游网站 建设平台分析建设一个商城网站的成本
  • 桂林网站制作找志合网络公司wordpress短视频模板
  • 如何建设专题网站视觉设计师面试问题
  • 江苏网站开发建设手机做电商怎么赚钱
  • 平台网站建设设计福田深圳网站建设
  • 中小型企业网站的设计与开发南昌专业网站制作公司
  • 怎么做网站推广云浮密云石家庄网站建设
  • 常德网站建设技术青岛网站建设免费
  • 网站建设所采用的技术旅游加盟网站建设
  • 网站怎么做单页设计logo怎么设计
  • 旅游公司网站开发与实现宁波网站建设优化的公司排名
  • 如何制作一个好网站广告公司名字怎么起
  • 响应式环保网站模板模仿wordpress
  • 网站推广的常用途径有哪些网站维护公告模板
  • i5 7500网站开发wordpress输入框长度
  • 潍坊建设局网站中山一站式营销推广平台
  • 网站建设的发展目标个人网站怎样做超链接
  • 网站制作模板商城网站开发教程视频