java移位操作示例
java移位操作示例
public class Shift4JTest {/***移位操作符有>>(右移)、<<(左移)、>>>(右移)* >>是带符号右移,负数高位补1,正数高位补0* <<左移不管负数还是正数,在低位永远补0* >>>是不带符号右移,不论负数还是正数,高位补0*/public static void main(String[] args) {int a = 10;int b = a << 1; //相当于 乘以2的1次幂int c = a << 2; //相当于 乘以2的2次幂int d = a << 3; //相当于 乘以2的3次幂BitUtil.getFull32BinaryString(a);System.out.println(b);BitUtil.getFull32BinaryString(b);System.out.println(c);BitUtil.getFull32BinaryString(c);System.out.println(d);BitUtil.getFull32BinaryString(d);}public class BitUtil {public static String getFull32BinaryString(Integer a){String s = Integer.toBinaryString(a);int count = 32 - s.length();StringBuilder sb = new StringBuilder();for (int i = 0; i < count; i++) {sb.append("0");if (i != 0 && i % 8 == 0) sb.append(" ");}sb.append(s);System.out.println(sb.toString());return sb.toString();}}
}
int a = 80;int b = a >> 1; //相当于 除以2的1次幂int c = a >> 2; //相当于 除以2的2次幂int d = a >> 3; //相当于 除以2的3次幂System.out.println(a);BitUtil.getFull32BinaryString(a);System.out.println(b);BitUtil.getFull32BinaryString(b);System.out.println(c);BitUtil.getFull32BinaryString(c);System.out.println(d);BitUtil.getFull32BinaryString(d);
int a = -80;int b = a >> 1; //相当于 除以2的1次幂int c = a >> 2; //相当于 除以2的2次幂int d = a >> 3; //相当于 除以2的3次幂System.out.println(a);BitUtil.getFull32BinaryString(a);System.out.println(b);BitUtil.getFull32BinaryString(b);System.out.println(c);BitUtil.getFull32BinaryString(c);System.out.println(d);BitUtil.getFull32BinaryString(d);
//正数>>>和>> 是一样的int a = 80;int b = a >>> 1; //相当于 除以2的1次幂int c = a >>> 2; //相当于 除以2的2次幂int d = a >>> 3; //相当于 除以2的3次幂System.out.println(a);BitUtil.getFull32BinaryString(a);System.out.println(b);BitUtil.getFull32BinaryString(b);System.out.println(c);BitUtil.getFull32BinaryString(c);System.out.println(d);BitUtil.getFull32BinaryString(d);
//在负数的情况下>>>和>> 是不一样的 //>>>不论正负数 高位永远补0int a = -80;int b = a >>> 1;int c = a >>> 2;int d = a >>> 3; System.out.println(a);BitUtil.getFull32BinaryString(a);System.out.println(b);BitUtil.getFull32BinaryString(b);System.out.println(c);BitUtil.getFull32BinaryString(c);System.out.println(d);BitUtil.getFull32BinaryString(d);
java移位操作示例相关推荐
- 大数据 java 代码示例_功能Java示例 第7部分–将失败也视为数据
大数据 java 代码示例 这是称为" Functional Java by Example"的系列文章的第7部分. 我在本系列的每个部分中开发的示例是某种"提要处理程序 ...
- java方法示例注释 @_Java 8中的功能接口是什么? @功能注释和示例
java方法示例注释 @ 函数接口是Java 8最重要的概念之一,实际上为lambda表达式提供了动力,但是许多开发人员没有首先了解函数接口在Java 8中的作用就花了很多精力来理解它,并花时间学习l ...
- java 方法 示例_Java 9示例–收集的工厂方法–创建不可修改的列表,集合和映射...
java 方法 示例 大家好,这是我在该博客上发表的有关Java 9功能的第一篇文章,今天您将了解我最喜欢的功能"收集的工厂方法" ,它是JEP 269的一部分.JEP代表JDK增 ...
- java 观察者模式示例_观察者设计模式示例
java 观察者模式示例 本文是我们名为" Java设计模式 "的学院课程的一部分. 在本课程中,您将深入研究大量的设计模式,并了解如何在Java中实现和利用它们. 您将了解模式如 ...
- java 泛型示例_使用Java泛型的模板方法模式示例
java 泛型示例 如果您发现除了某些部分外,您的许多例程完全相同,那么您可能需要考虑使用Template Method来消除容易出错的代码重复 . 这是一个示例:下面是两个做类似事情的类: 实例化并 ...
- java 设计模式 示例_Java中的状态设计模式–示例教程
java 设计模式 示例 状态模式是行为设计模式之一 . 当对象根据其内部状态更改其行为时,将使用状态设计模式. 如果必须根据对象的状态更改其行为,则可以在对象中使用状态变量,并使用if-else条件 ...
- java 设计模式 示例_Java中的访问者设计模式–示例教程
java 设计模式 示例 访客模式是行为设计模式之一 . 当我们必须对一组相似类型的对象执行操作时,将使用访问者模式. 借助访问者模式,我们可以将操作逻辑从对象移动到另一个类. 例如,假设有一个购物车 ...
- java 观察者模式示例_Java中的观察者设计模式-示例教程
java 观察者模式示例 观察者模式是行为设计模式之一 . 当您对对象的状态感兴趣并希望在发生任何更改时得到通知时,观察者设计模式很有用. 在观察者模式中,监视另一个对象状态的对象称为Observer ...
- java 设计模式 示例_Java中的中介器设计模式-示例教程
java 设计模式 示例 中介者模式是行为设计模式之一 ,因此它处理对象的行为. 中介器设计模式用于在系统中不同对象之间提供集中式通信介质. 根据GoF,中介者模式意图是: 通过封装不同对象集相互交互 ...
- java 设计模式 示例_Java中的策略设计模式-示例教程
java 设计模式 示例 策略模式是行为设计模式之一 . 当我们对一个特定的任务有多种算法并且客户决定在运行时使用的实际实现时,将使用策略模式. 策略模式也称为策略模式 . 我们定义了多种算法,并让客 ...
最新文章
- 获取app传入的json值处理
- Cascade RPN,结构的艺术带来极致提升 | NeurIPS 2019
- 最全面的Python重点知识汇总,建议收藏!
- 数据库设计系列9--将ER模型映射为表
- c++两个数组对比去掉重复的元素_LeetCode 题解 | 167.两数之和 II 输入有序数组...
- spark 上下游shuffle结果的存放获取
- 基于JAVA+SpringMVC+Mybatis+MYSQL的仿百度网盘系统
- JavaScript数值类型及变量
- Android轩辕剑之ActionBar之一
- Java集合ArrayList的应用
- Python csv文件读写(csv模块)(转载)
- 前端实现文件下载的功能
- php text换行_php实现文字换行
- hbuildx打包成apk_基于HBuilder将H5站点打包成app
- PDF编辑器(PDF Editor)中文版
- 基于java在线影院订票系统论文
- pdf转的html 360看不了,360浏览器看不了pdf
- 海思hi3559a nginx 移植
- 自动驾驶领域中常见英文缩写、相关含义以及常用专业英文
- 《MySQL DBA: InnoDB_doublewrite/ChangeBuffer/AHI/FNP》