Java奇怪的位移_Java中位移的疑惑
看来来晚了...
扔个代码闪人了吧
/**
* 如何生成二进制全1的数
* @author Jeky
*/
public class Rotate {
private static final long TIME = 1000000L;
private static final int LENGTH = 10;
public static void main(String[] args) {
test(new Runnable() {
public void run() {
generateHighBits1(LENGTH);
}
});
test(new Runnable() {
public void run() {
generateHighBits2(LENGTH);
}
});
test(new Runnable() {
public void run() {
generateHighBits3(LENGTH);
}
});
test(new Runnable() {
public void run() {
generateHighBits4(LENGTH);
}
});
}
public static void test(Runnable run) {
long start = System.nanoTime();
for (int i = 0; i < TIME; i++) {
run.run();
}
long end = System.nanoTime();
System.out.println(end - start);
}
public static int generateHighBits1(int length) {
return (int) (Math.pow(2, length) - 1);
}
public static int generateHighBits2(int length) {
return -1 >>> -length;
}
public static int generateHighBits3(int length) {
return HIGH_BITS[length];
}
public static int generateHighBits4(int length) {
StringBuilder buf = new StringBuilder();
for (int i = 0; i < length; i++) {
buf.append(1);
}
return Integer.parseInt(buf.toString(), 2);
}
private static final int[] HIGH_BITS = new int[32];
static {
for (int i = 0; i < HIGH_BITS.length; i++) {
HIGH_BITS[i] = generateHighBits1(i);
}
}
}
Java奇怪的位移_Java中位移的疑惑相关推荐
- java可以多重继承吗_Java中的多重继承与组合vs继承
java可以多重继承吗 有时我写了几篇有关Java继承,接口和组成的文章. 在这篇文章中,我们将研究多重继承,然后了解组成优于继承的好处. Java中的多重继承 多重继承是创建具有多个超类的单个类的能 ...
- java中有没有栈_Java中堆和栈有什么区别
stack 和 heep 都是内存的一部分stack 空间小,速度比较快, 用来放对象的引用heep 大,一般所有创建的对象都放在这里.栈(stack):是一个先进后出的数据结构,通常用于保存方法(函 ...
- java 基本类型 引用_java中 引用类型 和 基本类型 有何区别?
栈与堆都是Java用来在Ram中存放数据的地方.与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆. Java的堆是一个运行时数据区,类的(对象从中分配空间.这些对象通过new.newa ...
- java构造器详解_Java中关于构造器的使用详解
这篇文章主要介绍了Java构造器使用方法及注意事项的相关资料,这里举例说明如何使用构造器及需要注意的地方,需要的朋友可以参考下 Java构造器使用方法及注意事项 超类的构造器在子类的构造器运行之前运行 ...
- java读取文件 路径_Java中的获取文件的物理绝对路径,和读取文件
获取文件的绝对路径,读取该文件 一.文件目录打印图 下面的文件目录图,是项目中文件的位置信息:下面的例子是按照这个图来演示的. . |-- java | |-- ibard | | |-- demo1 ...
- java多线程 线程安全_Java中的线程安全
java多线程 线程安全 Thread Safety in Java is a very important topic. Java provides multi-threaded environme ...
- java 异常处理发生异常_Java中的异常处理
java 异常处理发生异常 Exception Handling in Java is a very interesting topic. Exception is an error event th ...
- java string 对象地址_Java中String对象的存储位置(学习笔记)
packagetest.string.equal;public classMain {/*** 创建了三个对象,"helloworld对象创建在常量池中",每次new String ...
- java 定义整数数组_JAVA中数组的正确定义方法是什么?
数组是有序数据的集合,数组中的每个元素具有相同的数组名和下标来唯一地确定数组中的元素. §5.1一维数组 一.一维数组的定义 type arrayName[]; 其中类型(type)可以为Java中任 ...
最新文章
- 解决运行pytorch程序多线程问题
- 【PC工具】几个提高工作效率的工具素材网站,美化代码,精美图标,logo设计...
- 模糊pid控制的温度系统matlab源代码_变风量空调模糊 PID 控制系统的仿真研究
- 命令行中创建和打开模Android拟器
- innodb_memcache之配置
- 【刷题】BZOJ 4657 tower
- 硬件:断路器、接触器、继电器基础知识
- HDU-1712-ACboy needs your help
- CCS中的cmd命令文件
- [20171218]varchar2(4000)如何保存.txt
- 三维空间中的Pitch、Yaw、Roll值
- Unity使用Aspose.Words创建表格和UI截图一起插入到Word中并保存到本地的一种解决方案
- 阿里云总监课第四期:阿里褚霸携专家团独家分享弹性计算最佳实践
- 基于等离激元的空间微分
- 数学建模之熵权法——基于Topsis模型
- 小程序关注公众号的方法总结
- Python 进阶指南(编程轻松进阶):一、处理错误和寻求帮助
- 建筑物轮廓(含楼层或者高度)
- 利用GDI+实现gif图像背景透明
- Check failed: 0 == bottom[0]-count() % explicit_count (0 vs. 76) bottom count (160600) must be divi
热门文章
- 机器学习-周志华-课后习题答案-线性模型
- html5的canvas制作口红机闯关游戏(一)
- 【组合数学】递推方程 ( 递推方程解与特征根之间的关系定理 | 递推方程解的线性性质定理 | 递推方程解的形式 )
- 网易互联网雷火互娱22届校招及社招内推
- VMware虚拟机中安装苹果系统MacOS 10.12 Sierra
- 大学计算机网络配置实验报告,北京理工大学-计算机网络实践-IP路由配置与路由协议分析实验报告.docx...
- 甘超波:NLP价值观
- java项目开发的工具选型对比,这10条建议你一定要关注!
- 从数据库当中读取Double类型数据,数值过大时会变成科学计数法问题解决方案
- 阿里云改名并下载文件,乱码问题解决