Java 位运算理解 Java中的位移运算整理 Java右移n位 Java左移n位

Java 位运算理解 Java中的位移运算整理 Java右移n位 Java左移n位

一、概述

        1、在浏览一篇文章时,看到一个介绍 ,使用位移操作替代乘除法 ,若位移多位该怎么计算呢?

Java 位运算理解 Java中的位移运算整理 Java右移n位 Java左移n位

 二、代码理解

        1、Java中位运算: 左移

/**
	 * @Description: Java 位运算 左移 用 "<<" 符号表示
	 * @return void
	 * @version v1.0
	 * @author wu
	 * @date 2021年11月24日 下午23:47:28
	 * @remarks: 左移n位,即乘以 2^n (2的n次幂)
	 */
	@Test
	public void left() {
		int x = 3 << 1 ; // 左移1位, 等价于 3*2
		int y = 3 << 2 ; // 左移2位, 等价于 3*2*2
		int z = 3 << 3 ; // 左移3位, 等价于 3*2*2*2
		int zz = 3 << 5 ; // 等价于: 3*2^5; num 左移n位,即: num*2^n 
		
		System.out.println(x);
		System.out.println(y);
		System.out.println(z);
		System.out.println(zz);
		System.out.println(3*Math.pow(2, 5));
	}
 

        2、Java中位运算:右移

 /**
	 * @Description: Java中位运算 右移 ">>" 符号表示
	 * @return void
	 * @version v1.0
	 * @author wu
	 * @date 2021年11月24日 下午23:50:38
	 * @remarks: 右移n位,即除以2^n (2的n次幂)
	 */
	@Test
	public void right() {
		int x = 32 >> 1 ; // 右移1位, 等价于 32/2
		int y = 32 >> 2 ; // 右移2位, 等价于 32/2^2
		int z = 32 >> 3 ; // 右移3位, 等价于 32/2^3
		int zz = 32 >> 5 ; // 等价于 32/2^5 ; num右移n位,即: num/2^n
		
		System.out.println(x);
		System.out.println(y);
		System.out.println(z);
		System.out.println(zz);
		System.out.println(32 / Math.pow(2, 5));
	}

三、总结

        1、Java中位运算,左移: 表示乘以 ;左移n位,即乘以 2^n (2的n次幂)

        2、Java中位运算,右移:表示除以 ; 右移n位,即除以2^n (2的n次幂)

上一篇:【python基础算法】用Python实现冒泡排序算法


下一篇:C语言中各类型所占字节数