`
鬼王的忧伤
  • 浏览: 318 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

JAVA基础之移位

    博客分类:
  • JAVA
阅读更多

       移位操作平时用的较少,但其实很常见。平时看一些java.lang里面的源码就会发现很多进行了移位操作。对于计算机而言,移位操作时最快的。今天简单总结下我所认识的移位操作。

       请看下面这段测试代码:

       

        //100=64+32+4
        int i = 1;
        i = ((i<<6) //i*64
        + (i<<5) //i*32
        + (i<<2)); //i*4
        System.out.println(i); //i*100
        
        int j = 1;
        j = j<<1+j+2;
        System.out.println(j);
        
        long k = 2147483648l;
        long l = k / 100;
        int r = (int)(k - ((l<<6) + (l<<5) + (l<<2)));
        System.out.println(r);
        
        int a1 = -20; //负数为补码(反码+1)int类型占4个字节,32位
        System.out.println(Integer.toBinaryString(a1));
        a1 = a1>>>20; //不考虑符号位
        System.out.println(a1);
        System.out.println(Integer.toBinaryString(a1));
        
        int a2 = -20; //负数为补码(反码+1)int类型占4个字节,32位
        System.out.println(Integer.toBinaryString(a2));
        a2 = a2>>20;
        System.out.println(a2);

        执行结果为:

        

100
16
48
11111111111111111111111111101100
4095
111111111111
11111111111111111111111111101100
-1
11111111111111111111111111111111

       可以看到,移位对于数字的操作时多么灵活,注意的是,>>与>>>,前者是考虑符号位,后者不考虑符号位。

 

分享到:
评论

相关推荐

    JAVA基础之java的移位运算

    Java的移位运算涉及到整数类型数据的二进制位操作,这对于理解计算机底层运作和优化代码至关重要。移位运算主要包括左移运算符()和右移运算符(&gt;&gt;,&gt;&gt;&gt;)。在Java中,所有的整数类型(除了char类型外)都是有符号...

    移位加密算法的Java实现

    通过这个Java实现,我们可以学习到如何利用编程语言实现基础的加密算法,同时理解移位加密的基本工作原理。尽管现代加密技术更为复杂,但对这些基础知识的理解对于任何从事信息安全或相关领域的专业人士都是至关重要...

    java基础试题综合试题

    Java 基础试题涵盖了Java...以上就是Java基础试题中涉及到的一些关键知识点,这些知识点构成了Java编程的基础,对理解和掌握Java编程语言至关重要。通过练习和理解这些题目,可以帮助开发者巩固和提高Java编程技能。

    文件移位加密与解密

    从给定的文件信息来看,本文档主要涉及的是文件移位加密与解密技术的C语言实现,这是一项基础但非常实用的加密方法,尤其在早期计算机科学领域中占有重要地位。下面,我们将深入探讨这一主题,包括其背景、原理、...

    java基础教程java基础教程java基础教程

    Java编程基础是学习Java语言的重要环节,涵盖了众多关键概念,其中运算符与表达式是编程中最基本的元素,用于执行各种数学和逻辑操作。这里我们将深入探讨Java中的运算符和表达式。 首先,我们来看算数运算符。Java...

    Java中的进制与移位运算符

    在Java编程语言中,进制表示法...总的来说,Java中的进制表示法和移位运算符是程序员必备的技能,它们不仅关乎基础理论,也直接影响程序的性能和正确性。通过深入学习和实践,我们可以更有效地利用这些工具来解决问题。

    java基础.txt

    根据提供的文件信息,我们可以从中提炼出一系列与Java基础相关的知识点。以下是对这些知识点的详细解释: ### Java数据类型与运算 1. **Byte类型的运算**: - `byte b1 = 3;` - `byte b2 = 4;` - `byte b3 = b1...

    【IT十八掌徐培成】Java基础第02天-04.运算符-移位运算-逻辑运算.zip

    Java语言是目前广泛应用的编程语言之一,其丰富的特性和强大的功能深受程序员...通过观看`Java基础第02天-04.运算符-移位运算-逻辑运算.avi`这个视频教程,你将能更深入地理解这些主题,并能够灵活应用到自己的项目中。

    完整版 Java基础入门教程 Java程序语言设计 02 java语法基础 Java语法基础2(共24页).ppt

    本教程主要涵盖Java的基础知识,包括语言概述、语法基础、对象、集合框架、输入输出流、图形用户界面(GUI)、异常处理、网络编程以及JDBC和反射机制等。以下是这些关键概念的详细解释: 1. **Java基本数据类型**:...

    Java基础知识总结

    Java基础知识总结 Java是一种广泛使用的编程语言,具有强大、灵活和平台独立的特点。以下是Java基础知识的总结,包括Java目录、编程习惯、基本类型、控制语句、运算符、数组等方面的知识点。 Java目录 Java是一种...

    java基础易忘

    ### Java基础易忘知识点详解 #### 1. Java编译过程 - **源代码到字节码**: `.java` 文件经过编译后会生成 `.class` 文件,即字节码文件。 - **编译原理**: Java 编译器将源代码转换为中间表示形式(字节码),这些...

    Java基础笔记.docx

    除了上述内容,Java基础还包括控制流程(如if语句、switch语句、for循环、while循环)、数组、字符串、类和对象的创建、继承、封装、多态等核心概念。理解并熟练掌握这些基础知识是成为一名合格的Java开发者的基石。...

    Java语言基础实验报告.pdf

    Java语言基础实验报告 本实验报告涵盖了Java语言的基础知识,包括数据类型、运算符、表达式、语句、数组和字符串等。通过实验,学生可以掌握Java语言的根本数据类型、字符串、数组,以及运算符、表达式、语句的使用...

    2023最新整理版-java基础面试提

    这份最新的2023年整理版涵盖了广泛的Java基础知识,包括但不限于基础概念与常识、基本语法、基本数据类型、面向对象特性、Java内置类、异常处理、泛型、反射、注解、服务提供接口(SPI)以及序列化与反序列化等多个...

    Java基础笔记-基础部分

    ### Java基础知识点详解 #### 一、变量与常量 **1.1 变量** - **定义**:变量是在程序执行过程中值可以发生变化的量。例如,一个人的年龄随着时间的推移会发生变化,就可以使用变量来表示。 - **命名规则**: -...

    Java编程基础语法

    ### Java编程基础语法详解 #### 一、Java语言概述与特点 Java作为一种广泛使用的编程语言,其设计初衷是为了实现“一次编写,到处运行”的理念。Java语言由语法规则和类库两大部分组成,其中语法规则是编程的基础...

    实验2 Java语言基础实验.doc

    Java 语言基础实验 本实验涵盖了 Java 语言的基本数据类型、字符串、数组、运算符、表达式、语句等基础知识。实验内容包括局部变量与 final 变量、基本数据类型与转换、算术运算的精度问题、移位运算、运算赋值、...

    移位算法文件加密解密

    移位算法在信息安全领域是一种常见的加密技术,它基于字符或数据块的位移操作来实现信息的隐藏。...然而,理解移位算法仍然是理解更复杂加密系统的基础,同时也能够帮助我们更好地理解和评估各种加密技术的安全性。

    java基础案例与开发详解案例源码全

    3.4.6 移位运算符49 3.4.7 其他操作符50 3.5 表达式52 3.5.1 表达式简介52 3.5.2 表达式的类型和值52 3.5.3 表达式的运算顺序52 3.5.4 优先级和结合性问题52 3.6 选择结构54 3.6.1 顺序语句54 3.6.2 选择条件语句54 ...

Global site tag (gtag.js) - Google Analytics