自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 JAVA原子类AtomicInteger源码阅读笔记

JAVA原子类AtomicInteger源码阅读笔记最近在为春招实习复习,所以也看了些java并发包的源码,打算记个笔记。首先展示一些 AtomicInteger里持有的属性。private static final long serialVersionUID = 6214790243416807050L;private static final Unsafe U = Unsafe.get...

2020-03-13 16:43:54 180

原创 通过按位运算计算二进制数字的乘法和除法

乘法比如有两个数字13=(1101),9=(1001),此时计算两者的乘法可以从13的最低位往最高位遍历,如第一个为1,则有1001,第二位为0跳过,第三位为1,则再加上1001左移2位即100100,此时结果为101101,最后一位也是1则加上1001000,最终结果为1110101=117代码demo如下:public static long multiply(long x, long...

2019-09-18 13:56:13 900

原创 二进制数反转

问题将一个二进制数反转如:Input: 00000010100101000001111010011100Output: 00111001011110000010100101000000解决方案可以预设一些反转结果,如四位数的反转结果可以写作如下数组char nums[16] = {0,8,4,12,2,10,6,14,1,9,5,13,3,11,7,15};设L表示预设的反转结果的...

2019-09-17 16:07:48 2006

原创 bit swap

问题交换二进制中i和j两个位置解决方案首先检查i和j两位是否一致,若一致则无需进行修改。若不一致,创建一个i和j设为1的掩码,和原二进制进行异或即可。public static long swapBits(long x, int i, int j) { if(CCx»> i)&1)!=((x»> j)&1)){ long bitMask = (IL « ...

2019-09-17 15:44:03 442

原创 二进制中1的个数

elements of programming interviews in java第25页举了一个关于计算int类型在二进制下1的个数的问题,这里根据书上的方法写了代码,没有做过多少测试用例,只能说理论上应该是对的问题描述给定一个int类型数字x,计算其在二进制下1的个数方案1使用1作为掩码进行 and 运算,每次运算后将x进行右移操作public int mehtod_1(int x...

2019-09-12 13:33:36 132

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除