java位模式左移_Java移位运算之算术左移位

算术左移运算符

按二进制形式把所有的数字向左移动对应的位数,高位移出(舍弃),低位的空位补零。

语法格式:需要移位的数字 << 移位的次数例如: 3 << 2,则是将数字3左移2位package com.zzwx.test.shifting;

public class Main {

public static void main(String[] args) {

for (int p = 1; p 

System.out.println("算术左移位 - " + p + "/");

for (int n = 1; n <= 4; n++) {

System.out.println("需要移位的数字 : " + p + " \t 转换二进制 : "

+ toBinaryString(p) + " \t 移位量 : " + n

+ " \t 移位后的二进制 : "

+ shiftToBinaryLeft(toBinaryString(p), n)

+ " \t value : " + (p <

}

System.out.println("算术左移位 - " + p + "/");

}

System.out.println("算术左移位 ------>    p <

System.out.println("\n\n\n");

}

/**

* 获取当前数字的二进制

*

* @param num

*            int数字

* @return 二进制字符

*/

public static String toBinaryString(int num) {

return Integer.toBinaryString(num);

}

/**

* 通过移位量获取移位后的二进制

*

* @param binaryStr

*            需要移位的二进制

* @param shift

*            偏移量

* @return 移位后的二进制

*/

public static String shiftToBinaryLeft(String binaryStr, int shift) {

for (int i = 0; i 

binaryStr += "0";

}

return binaryStr;

}

}

测试结果算术左移位 - 1/

需要移位的数字 : 1  转换二进制 : 1  移位量 : 1  移位后的二进制 : 10  value : 2

需要移位的数字 : 1  转换二进制 : 1  移位量 : 2  移位后的二进制 : 100  value : 4

需要移位的数字 : 1  转换二进制 : 1  移位量 : 3  移位后的二进制 : 1000  value : 8

需要移位的数字 : 1  转换二进制 : 1  移位量 : 4  移位后的二进制 : 10000  value : 16

算术左移位 - 1/

算术左移位 - 2/

需要移位的数字 : 2  转换二进制 : 10  移位量 : 1  移位后的二进制 : 100  value : 4

需要移位的数字 : 2  转换二进制 : 10  移位量 : 2  移位后的二进制 : 1000  value : 8

需要移位的数字 : 2  转换二进制 : 10  移位量 : 3  移位后的二进制 : 10000  value : 16

需要移位的数字 : 2  转换二进制 : 10  移位量 : 4  移位后的二进制 : 100000  value : 32

算术左移位 - 2/

算术左移位 - 3/

需要移位的数字 : 3  转换二进制 : 11  移位量 : 1  移位后的二进制 : 110  value : 6

需要移位的数字 : 3  转换二进制 : 11  移位量 : 2  移位后的二进制 : 1100  value : 12

需要移位的数字 : 3  转换二进制 : 11  移位量 : 3  移位后的二进制 : 11000  value : 24

需要移位的数字 : 3  转换二进制 : 11  移位量 : 4  移位后的二进制 : 110000  value : 48

算术左移位 - 3/

算术左移位 ------>    p <

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值