⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 shifttest.java

📁 主要是对于JAVA的编程的基本语言 希望能够帮得上你。
💻 JAVA
字号:
package Operator;

/**
* Title: ShiftTest类<br>
* Description: 演示位运算<br>
* Copyright:(c)2008 www.luzhou.net<br>
* Company: 泸州职业技术学院电信系
* @author 华卫
* @version 1.00
*/

public class ShiftTest{
	public static void main(String [] args){
		int x=0x80000000;
		int y=0x80000000;
		x=x>>1;
		y=y>>>1;
		System.out.println("0x80000000>>1 = " + Integer.toHexString(x));
		System.out.println("0x80000000>>>1 = " + Integer.toHexString(y));
		
		int i=20;
		System.out.println(Integer.toBinaryString(i)+"<<2="+Integer.toBinaryString(i<<2));
		System.out.println(Integer.toBinaryString(i)+">>2="+Integer.toBinaryString(i>>2));
		System.out.println(Integer.toBinaryString(i)+">>>2="+Integer.toBinaryString(i>>>2));
	}
}

/*
 移位运算符面向的运算对象也是二进制的“位”。可单独用它们处理整数类型(主类型的一种)。
 左移位运算符(<<)能将运算符左边的运算对象向左移动运算符右侧指定的位数(在低位补0)。
 “有符号”右移位运算符(>>)则将运算符左边的运算对象向右移动运算符右侧指定的位数。
 “有符号”右移位运算符使用了“符号扩展”:若值为正,则在高位插入0;若值为负,则在高位插入1。
 Java也添加了一种“无符号”右移位运算符(>>>),它使用了“零扩展”:无论正负,都在高位插入0。
 这一运算符是C或C++没有的。
 
 若对char,byte或者short进行移位处理,那么在移位进行之前,它们会自动转换成一个int。
 只有右侧的5个低位才会用到。这样可防止我们在一个int数里移动不切实际的位数。
 若对一个long值进行处理,最后得到的结果也是long。此时只会用到右侧的6个低位,
 防止移动超过long值里现成的位数。但在进行“无符号”右移位时,也可能遇到一个问题。
 若对byte或short值进行右移位运算,得到的可能不是正确的结果(Java 1.0和Java 1.1特别突出)。
 它们会自动转换成int类型,并进行右移位。但“零扩展”不会发生,所以在那些情况下会得到-1的结果。
*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -