java 逻辑左移_逻辑左移、逻辑右移

代码:

public static void main(String[] args) {

int num = 53;

int m = 1;

// 测试向左移位

System.out.println(String.format(" 数字 %d 的二进制向左移 %d 位是 %d", num, m, leftShift(num, m)));

// 测试向右移位

System.out.println(String.format(" 数字 %d 的二进制向右移 %d 位是 %d", num, m, rightShift(num, m)));

System.out.println();

m = 3;

// 测试向左移位

System.out.println(String.format(" 数字 %d 的二进制向左移 %d 位是 %d", num, m, leftShift(num, m)));

// 测试向右移位

System.out.println(String.format(" 数字 %d 的二进制向右移 %d 位是 %d", num, m, rightShift(num, m)));

}

/**

* @Description: 向左移位

* @param num- 等待移位的十进制数, m- 向左移的位数

* @return int- 移位后的十进制数

*/

public static int leftShift(int num, int m) {

return num << m;

}

/**

* @Description: 向右移位(逻辑右移:左边补 0 即可;算术右移:保持符号位不变,除符号位之外的右移一位并补符号位 1,补的 1 仍然在符号位之后。)

* @param num- 等待移位的十进制数, m- 向右移的位数

* @return int- 移位后的十进制数

*/

public static int rightShift(int num, int m) {

return num >>> m;

}

6bf43338b9d8

逻辑右移

6bf43338b9d8

算术右移

输出:

数字 53 的二进制向左移 1 位是 106

数字 53 的二进制向右移 1 位是 26

数字 53 的二进制向左移 3 位是 424

数字 53 的二进制向右移 3 位是 6

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值